我正在尝试为我的团队实现一个非常简单的自动部署系统。
我们的代码位于 SVN 存储库中,但我使用 heroku 来部署我的应用程序(使用 GIT)
目前我在本地执行以下操作:
svn update
git add .
git commit -m "foo"
git push heroku master
但是我希望自动化这个过程,这样当团队中的任何人提交新代码时,它都会自动推送到heroku并可以在我们的开发网站上查看。
有什么简单的方法可以做到这一点吗?也许设置一个 EC2 实例,在提交后通过 ssh 连接到它(使用 Hook 脚本)并运行上述命令?但这个解决方案似乎过于复杂..
最佳答案
是的,这似乎过于复杂,我只是建议最后转向 git。
在这种情况下,您将只需要关心一个 VCS(至少对于这个项目而言),并且您将能够创建其他有用的场景。
IE。将每个更改推送到 Heroku(并将其用作传输层)并不是一个好主意,有时您需要将某些内容推送给团队成员以分割正在进行的工作,而且很明显,如果您将其发送Heroku 处于这种状态,您的应用程序将会崩溃。因此,拥有一个(其他)共享存储库(origin
)并将所有内容推送到那里会更容易,并且只有当某些重要部分完成并得到所有团队成员确认时,您才可以只用两行代码(或使用 shell 脚本)获取最新状态并推送到 Heroku。
如今,创建共享 git 存储库是一件简单的任务。如果您有任何具有 SSH 访问权限的主机帐户,则可以使用 gitolite 创建它它易于安装和管理存储库和用户。而且它是完全免费的。
另一种可能性是使用一些 git 提供程序,例如 GitHub或Assambla您很可能可以找到一些免费/便宜的计划来托管小型项目。
关于svn commit后Git推送自动部署到Heroku?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445891/