2013-08-16 125 views
29

我一直在研究一個被推送到heroku的網絡應用程序。源代碼位於GitHub上。如何將不同的分支推送到不同的heroku應用程序?

因此git push將主分支推送到GutHub。

我的git分支「大師」連接到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或類似),瞧 - 生產分支推到生產應用。

在Heroku上鍊接我的production分支到my-app-prod的推薦方式是什麼?

我已經通過Heroku's own docs on this打滾,但他們都認爲我已經設置了使用heroku create CLI我的應用程序,而不是設置爲通過Heroku的網站我的應用程序,但下面的段落只是讓我目瞪口呆:

當您按照上述步驟操作時,輸入git push staging mastergit push production master很簡單。然而,許多開發人員喜歡利用git的 分支來分離進行中和生產就緒的代碼。在安裝的這種 中,您可能會從主分支部署到生產環境,一旦在分段應用程序上對其進行審閱後,它們將從開發分支合併 。有了這個 設置,推是一個利特勒棘手:

,我想落得如下:

  1. 在分支master:(一)git push推代碼GitHub上,和(b) git push heroku推代碼my-app-staging在Heroku
  2. 在分支production:(c)中git push推代碼在GitHub上production分支,和(d)git push heroku推動production代碼my-app-prod在Heroku上。

鑑於上述步驟1已經到位並且步驟2(c)已到位,我該如何實現步驟2(d)?

回答

55

您應該添加另一種遠程對我-APP-PROD名爲PROD-的Heroku(與Git的網址,你可以在Heroku上我-APP-PROD的設置頁面找到替代GIT_URL):

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

這會將您本地的分支生產推送到prod-heroku中的遠程分支主機,這樣my-app-prod將與生產分支中的代碼一起部署。

+1

這很完美。瞧 - 它就在那裏。 :-) –

相關問題