2012-09-16 34 views
2

我想爲我的團隊實現一個非常簡單的自動部署系統。svn提交自動部署到Heroku後推?

我們的代碼住在一個SVN回購,但我使用Heroku的部署我的應用程序(它使用GIT)

目前我做了局部以下:

svn update 
    git add . 
    git commit -m "foo" 
    git push heroku master 

但是我想自動化這個過程,所以當團隊中的任何人提交新代碼時,它會自動推送到heroku,並可以在我們的開發站點上查看。

任何簡單的方法呢?也許設置一個EC2實例,在提交後使用ssh腳本(使用鉤子腳本)並運行上述命令?但是這個解決方案似乎過於複雜了。

+0

嗨漢斯,我遇到這個線程,並認爲我會指出你drone.io,這是CI服務,包括Heroku部署。它適用於Subversion。你只需要在構建腳本中初始化git倉庫... http://docs.drone.io/heroku.html –

回答

1

是的,它似乎過於複雜,我只是建議,而不是最終移動到git。

在這種情況下,您將只有一個VCS關心(至少對於此項目),並且您將能夠創建其他有用的場景。

IE。推動對Heroku的每一項改變(並將其用作傳輸層)並不是一個好主意,有時你需要向隊友推送一些東西來拆分正在進行的工作,這很明顯,如果你將它發送給這樣的狀態Heroku,你會崩潰你的應用程序。因此,擁有一個(其他)共享庫(origin)並將所有內容都推送到那裏會更容易,並且只有當所有團隊成員完成並確認了一些重要部分後,纔可以使用兩行代碼(或使用shell腳本)獲得最新狀態並推向Heroku。

現在創建共享git存儲庫只是一件容易的事情。如果您有任何具有SSH訪問權限的主機帳戶,則可以使用gitolite創建它,它易於安裝並管理存儲庫和用戶。它非常自由。

其他可能性是使用一些git提供商,如GitHubAssambla很可能你可以找到一些免費/廉價的託管小項目計劃。

1

也許你應該看一看的SVN post-commit hook:你的SVN服務器存儲庫,你可以在PATH_TO_REPO/hooks/添加一個名爲post-commit shell腳本可以比後您的團隊的每一次提交運行。

這個腳本應該包含推送到heroku的git命令。