Подтвердить что ты не робот

Разверните подкаталог в 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?

4b9b3361

Ответ 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