Разверните подкаталог в Heroku
У меня есть один "супер" репозиторий в GitHub, который будет содержать несколько приложений, которые я хотел бы развернуть в Heroku. Вот пример моего репозитория.
/app
/.git
/website <-- would like to deploy this to Heroku
Когда я пытаюсь нажать, используя следующую команду:
$ git push heroku master
Я получаю следующую ошибку:
Heroku push rejected, no Rails or Rack app detected.
Как развернуть подкаталог в Heroku?
Ответы
Ответ 1
Это можно сделать, установив config.ru в свой корневой каталог, который сообщает Heroku, где найти ваше приложение. Например, с Rails 3 попробуйте config.ru, как это, в корневом каталоге:
WEBSITE_SUBDIR = 'website'
require "#{WEBSITE_SUBDIR}/config/environment"
run YourApplicationName::Application
И на Rails 2.x вам понадобится что-то вроде этого:
WEBSITE_SUBDIR = 'website'
require "#{WEBSITE_SUBDIR}/config/environment"
use Rails::Rack::LogTailer
use Rails::Rack::Static
run ActionController::Dispatcher.new
Ответ 2
Что вы думаете о создании локального репозитория git в /app/website и используя Git Hooks, чтобы при вы обязуетесь, он также зафиксирует ваш код сайта?
Основной ответ, с моей точки зрения, заключается в том, что вам нужен репозиторий git на уровне веб-сайта, а не на уровне родителя. Все оттуда зависит от вашей точки зрения - вы хотите, чтобы/веб-сайт был его собственным репозиторием с /app, используя подмодуль для/веб-сайта? (То, как я пойду)
Ответ 3
Недавно я столкнулся с этой же проблемой в проекте с использованием Supersonic-инфраструктуры AppGyver и приложения Heroku.
Наше сверхзвуковое приложение жило в корне, поэтому не было возможности посещать там Героку. В итоге мы перенесли наше приложение Heroku в подкаталог с именем web/
. Теперь мы развертываем в Heroku, используя:
git subtree push --prefix web heroku master