2013-08-16 18 views
29

Ho lavorato a un'app Web che viene inviata a heroku. La fonte è ospitata su GitHub.Come sposto i vari rami in diverse app di heroku?

Quindi git push invia il ramo principale a GutHub.

mio git ramo 'master' è collegato a Heroku app 'my-app-staging'

Così git push heroku spinge l'applicazione per my-app-staging.herokuapp.com

Ho creato una nuova applicazione Heroku che sarà l'app 'di produzione', chiamiamolo 'my-app-prod'.

Ho creato un ramo ora chiamato 'production' (ovvero git checkout -b production) e ho eseguito git push -u origin production per renderlo un ramo gestito in GitHub.

Ora voglio collegare il ramo production-my-app-prod.herokuapp.com in modo tale che, quando passa al ramo production posso semplicemente digitare git push heroku (o forse git push prod-heroku production o simili) e voilà - il ramo di produzione è spinto al app di produzione.

Qual è il modo consigliato di collegare il mio ramo production a my-app-prod su Heroku?

ho crogiolavo attraverso Heroku's own docs on this ma tutti presumo ho impostato le mie applicazioni che utilizzano il heroku create CLI, non configurare le mie applicazioni tramite il sito web di Heroku, tuttavia il seguente paragrafo appena mi fa girare la testa:

È semplice digitare git push staging master e git push production master quando hai seguito i passaggi precedenti. Molti sviluppatori preferiscono sfruttare i rami di git per separare il codice in corso e pronto per la produzione, tuttavia. In questo ordinamento di installazione, è possibile eseguire la distribuzione in produzione dal ramo principale, unendo le modifiche da un ramo di sviluppo dopo che sono state esaminate nell'app di gestione temporanea. Con questa messa a punto, spingendo è un complicato Littler:

dove voglio finire è la seguente:

  1. nel ramo master: (a) git push spinge codice da GitHub, e (b) git push heroku spinge codice my-app-staging su Heroku
  2. Nel ramo production: (c) git push spinge codice al ramo production su GitHub, e (d) git push heroku spinge il codice production a my-app-prod su Heroku.

Dato il passaggio 1 sopra è già in atto e passaggio 2 (c) è in atto, come si raggiunge il passaggio 2 (d)?

risposta

55

Si dovrebbe aggiungere un altro telecomando per il mio-app-prod nome prod-Heroku (sostituire GIT_URL con l'URL Git che si possono trovare nella pagina delle impostazioni del mio-app-prod in Heroku):

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

Questo spingerà la produzione della filiale locale al master di ramo remoto in prod-heroku in modo che my-app-prod venga distribuito con il codice nel ramo di produzione.

+1

Questo è perfetto. E voilà - eccolo. :-) –