在svn提交后自动部署到Heroku的Git推送?

时间:2012-09-16 09:44:07

标签: git svn heroku playframework continuous-deployment

我正在尝试为我的团队实施一个非常简单的自动部署系统。

我们的代码存在于SVN仓库中,但我使用heroku来部署我的应用程序(使用GIT)

目前我在本地执行以下操作:

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

但是我想自动化这个过程,这样当团队中的任何人提交新代码时,它会自动推送到heroku并可以在我们的开发站点上查看。

这样做的简单方法是什么?也许设置一个EC2实例,在提交(使用钩子脚本)并运行上述命令后进入它?但这个解决方案似乎过于复杂..

2 个答案:

答案 0 :(得分:1)

是的,它似乎过于复杂,我只是建议改为最终转向git。

在这种情况下,您只需要关注一个VCS(至少对于此项目而言),您将能够创建其他有用的场景。

IE。将每一个更改推送到Heroku(并将其用作传输层)并不是一个好主意,有时您需要向团队成员推送一些内容以分割正在进行的工作,这很明显,如果您将它发送给这样的状态到Heroku,你会崩溃你的应用程序。因此,拥有一个(其他)共享仓库(origin)并将所有内容推送到那里会更容易,只有当一些重要部分完成并由所有团队成员确认时,您才可以使用两行代码(或者使用shell脚本)获取最新状态并推送到Heroku。

现在创建共享git存储库只是一件容易的事。如果您有任何具有SSH访问权限的主机帐户,则可以使用gitolite创建它,它易于安装和管理存储库和用户。它完全免费。

其他可能性是使用一些git提供程序,如GitHubAssambla,最有可能找到一些免费/廉价计划来托管小项目。

答案 1 :(得分:1)

也许你应该看看你的SVN服务器存储库上的SVN post-commit hook:你可以在post-commit中添加一个名为PATH_TO_REPO/hooks/的shell脚本,而不是每次提交后都可以运行你的团队。

此脚本应包含要推送到heroku的git命令。