Как мне нажимать разные ветки в разные приложения heroku?

Я работал над веб-приложением, которое загружается на heroku. Источник размещен на GitHub.

Итак, git push отправляет основную ветку в GutHub.

Моя ветка git 'master' подключена к приложению Heroku 'my-app-staging'

Итак, git push heroku подталкивает приложение к my-app-staging.herokuapp.com

Я создал новое приложение Heroku, которое будет «производственным» приложением, назовем его «my-app-prod».

Я создал ветку, которая теперь называется «production» (т.е. git checkout -b production), и я запустил git push -u origin production, чтобы сделать ее управляемой веткой на GitHub.

Теперь я хочу связать ветвь production с my-app-prod.herokuapp.com, чтобы при переключении на ветку production я мог просто набрать git push heroku (или, возможно, git push prod-heroku production или аналогичный) и вуаля - производственная ветвь перемещается в производственное приложение.

Какой рекомендуемый способ связать мою ветку production с my-app-prod на Heroku?

Я изучал собственные документы Heroku по этому поводу но все они предполагают, что я настроил свои приложения с помощью heroku create CLI, а не настроил свои приложения через веб-сайт Heroku, однако следующий абзац просто кружит мне голову:

Набрать git push staging master и git push production master просто, выполнив описанные выше действия. Однако многим разработчикам нравится использовать преимущества веток git для разделения кода, который выполняется, и кода, готового к работе. При такой настройке вы можете развернуть в производственной среде из своей основной ветки, объединяя изменения из ветки разработки после того, как они были просмотрены в промежуточном приложении. С этой настройкой толкать немного сложнее:

Я хочу закончить следующим образом:

  1. В ветке master: (a) git push отправляет код на GitHub, и (b) git push heroku отправляет код на my-app-staging на Heroku
  2. В ветке production: (c) git push отправляет код в ветку production на GitHub, и (d) git push heroku отправляет код production на my-app-prod на Heroku.

Учитывая, что шаг 1 выше уже выполнен, а шаг 2 (c) уже выполнен, как мне выполнить шаг 2 (d)?


person Dave Sag    schedule 16.08.2013    source источник


Ответы (1)


Вам следует добавить еще один пульт для my-app-prod с именем prod-heroku (замените GIT_URL URL-адресом Git, который вы можете найти на странице настроек my-app-prod в heroku):

git remote add prod-heroku GIT_URL
git push prod-heroku production:master

Это подтолкнет производство вашей локальной ветки к мастеру удаленной ветки в prod-heroku, поэтому my-app-prod будет развернут с кодом в производственной ветке.

person akhanubis    schedule 16.08.2013
comment
Это идеально. И вуаля - готово. :-) - person Dave Sag; 16.08.2013
comment
есть способ сопоставить вашу ветку с этапом конвейера heroku, чтобы вам не приходилось беспокоиться о явном указании ветки. - person BKSpurgeon; 10.10.2019