2

生產前部署到測試服務器正如我在本很新的,我不知道這是否是應該的 -在Heroku

我想提出一個web應用程序,並使用Heroku的託管

我希望有幾個開發人員在github上使用相同的代碼。

我想對Heroku的2個服務器 - 一個用於生產,一個用於測試(被它也被稱爲分期?)

問題是,我知道從WebApp文件夾做git push heroku master它會發送到應用程序到首先安裝的heroku服務器。

  1. 如何使用git從同一文件夾中部署到2個不同的heroku實例?可以/推薦嗎?

  2. 當我推github時,通常是主人,我應該有另一個分支來測試嗎?

  3. 有沒有辦法在heroku實例之間​​轉移應用程序?

,如果有希望能提供的Heroku和github上一個推薦的部署例行我很樂意當您運行git push heroku master讀它

回答

8

一個地方「的Heroku」標識你是推到遠程存儲庫。在你的情況下,'heroku'似乎是對你的生產服務器的引用。同樣,你可能有一個遠程指向github的'origin'。

如果你列出你的git的遙控器,你可能會看到這樣的內容:

> git remote -v 
heroku [email protected]:heroku_app_name.git (fetch) 
heroku [email protected]:heroku_app_name.git (push) 
origin [email protected]:your_github_org/repo_name.git (fetch) 
origin [email protected]:your_github_org/repo_name.git (push) 

要推到一個不同的Heroku應用程序,你可以只添加應用程序作爲一個新的遠程Git。現在

git remote add heroku-staging [email protected]:heroku_staging_app.git 

,你應該能夠在需要時推到任何遠程。

git push origin master //push to github 
git push heroku-staging //deploy to staging 
git push heroku master //deploy to production 

總的來說,我建議你不應該手動推到Heroku的。希望您可以持續集成服務器觀看github,每次推送更改時運行測試,並且只有在您的自動測試通過時才部署到分段。然後,您可以手動觸發CI任務,將當前正在進行的任務提交到生產環境(甚至可以自動執行生產部署)。

您可以使用heroku命令行執行相同的配置。這也爲您提供了管理上都你的Heroku應用程序的環境變量和其他設置一個好辦法: https://devcenter.heroku.com/articles/multiple-environments

+0

謝謝你,即使你的答案似乎微不足道給你,它幫助了我很多,把我推到右邊方向(我說我是新來的)。我很感激 –