2

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

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

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

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

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

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

4

2 回答 2

1

是的,这似乎过于复杂了,我只是建议对 git 采取最后的行动。

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

IE。将所有更改推送到 Heroku(并将其用作传输层)并不是一个好主意,有时您需要向团队成员推送一些内容以拆分正在进行的工作,很明显,如果您将其发送进去Heroku 这样的状态,你会崩溃你的应用程序。因此,拥有一个(其他)共享存储库origin(最新状态并推送到 Heroku。

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

另一种可能性是使用一些 git 提供商,如GitHubAssambla,您很可能可以找到一些免费/便宜的计划来托管小型项目。

于 2012-09-16T11:37:47.680 回答
1

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

这个脚本应该包含推送到 heroku 的 git 命令。

于 2012-09-16T12:34:36.357 回答