Расположение приложения при нажатии на Heroku - PullRequest
3 голосов
/ 05 января 2012

У меня есть проект Rails под git.

Структура:

SomeProject
    -Docs
    -Src
        -Rails

Rails является корнем приложения rails, но SomeProject является корнем репо.

Когда я пытаюсь толкнуть Героку, я получаю:

Heroku push отклонен, приложение, поддерживаемое Cedar, не обнаружено

Итак, мои вопросы:

  1. Будет ли это результатом того, что корень репозитория и корень приложения Rails различны?

  2. Если это так, я могу сказать Heroku, где находится корень приложения Rails?

  3. Если нет, то что еще может вызвать эту проблему?

Ответы [ 2 ]

3 голосов
/ 05 января 2012

Это не идеальная ситуация, особенно для героку, но общепринятое решение довольно простое. Это займет немного работы от вашего имени, но ничего страшного.

  1. Создайте два репозитория, один для приложения rails, а другой для «SomeProject».

  2. Добавьте приложение rails в качестве подмодуля в SomeProject. Вы можете добавить их довольно легко, используя что-то вроде git submodule add git@github.com:user/rails_app/ rails. Это добавит приложение rails как подмодуль в ваш проект, так что это по сути его собственный репозиторий. Найти более подробную информацию здесь .

  3. Добавьте heroku в качестве удаленного к субмодулю, а когда вы хотите развернуть приложение, нажмите из субмодуля, а не из всего проекта.

Это не так просто, как git push heroku master:'/rails', но ничего подобного не существует (пока, во всяком случае).

Надеюсь, это поможет!

1 голос
/ 05 января 2012

Самое простое решение - разделить ваше Rails-приложение на собственный репозиторий, как предлагает andrewpthorp.

Другое решение - написать свой собственный пакет сборки в отдельном репозитории, основанном на heroku / heroku-buildpack-ruyby , но настроенном для поддержки альтернативного макета проекта, и использовать его для развертывания приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...