【问题标题】:Git push after svn commit for automatic deployement to Heroku?svn提交后的Git推送自动部署到Heroku?
【发布时间】:2012-09-16 09:44:06
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 嘿,Hans,我遇到了这个线程,并认为我会向您介绍drone.io,它是包含 Heroku 部署的 CI 服务。它适用于颠覆。您只需要在构建脚本中初始化 git repo ...docs.drone.io/heroku.html

标签: git svn heroku playframework continuous-deployment


【解决方案1】:

是的,这似乎过于复杂了,我只是建议最终转向 git。

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      相关资源
      最近更新 更多