Как развернуть два отдельных приложения с одним общим модулем на Heroku - PullRequest
3 голосов
/ 01 декабря 2011

Приложение, которое я хочу запустить на Heroku, состоит из 3 элементов:

  • HTML-интерфейс ( www.myapp.com )
  • JSON API( api.myapp.com )
  • и общий класс утилит share

Так как я использую разные субдомены (и могуне объединяю 2 интерфейса), мне нужно создать 2 отдельных приложения Heroku, поэтому мне также нужно 2 Procfiles.Правильно?

Теперь, как мне сообщить Heroku, какой Procfile использовать? (при условии, что все в одном хранилище)

PS: я использую Scala, Play исб.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011

Если ваш HTML-интерфейс представляет собой просто статические файлы, вы должны поместить его в CDN вместо Heroku. Если вы действительно хотите запустить оба на Heroku, то создайте ветку git для каждого приложения на Heroku, а затем перенесите связанную ветку на правый git remote. Если у вас есть git remote для приложения www под названием heroku-www и ветка git под названием www, вы можете перенести его в главную ветку Heroku с помощью:

git push heroku-www www:master
1 голос
/ 06 декабря 2011

Я подумал об использовании веток или подмодулей, но было слишком сложно использовать мои инструменты (IntelliJ, Jenkins) с этим.Итак, я создал 2 рабочих места на моем CI Server;каждый проверяет хранилище, добавляет соответствующий Procfile и отправляет его в heroku:

#!/bin/bash

echo "#### Checkout repository"
git clone -o -f git@github.com:myself/myrepo.git $WORKSPACE/source
cd source/

echo "#### create Procfile"
echo "web: apps/app-api/target/start -api.port=\$PORT" > Procfile
git add Procfile

echo "#### commit locally"
git commit -a -m "prepared for Heroku deployment"

echo "#### push to heroku"
git remote add repo-heroku git@heroku.com:myapp.git
git push --force repo-heroku master && exit 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...