【问题标题】:Automating git pull process on dev/QA server on commit提交时在 dev/QA 服务器上自动执行 git pull 过程
【发布时间】:2011-04-12 14:59:47
【问题描述】:

我的 Rails 应用程序托管在 github 上。每当在“开发”分支上发生提交时,我想在开发框上执行 git pull 并调用“/etc/init.d/apache2 restart”命令。这是我可以通过 Capistrano 部署做的事情,还是我可以编写某种自定义 shell 脚本并以某种方式挂在我的 rails 应用程序中以调用该 shell 脚本?

【问题讨论】:

  • “每当 'dev' 分支上发生提交时”你的意思是“每当 'dev' 分支被推送到时”?
  • 是的,每当我推送到 dev 分支时。

标签: ruby git ruby-on-rails-3 deployment github


【解决方案1】:

您将需要 git 服务器上的 post-receive 钩子,该钩子会导致开发框上的 git pull。 “git deploy with post-receive”的快速 DAFS 找到了很多资源,例如 http://ryanflorence.com/deploying-websites-with-a-tiny-git-hook

我个人更喜欢为此使用像 Jenkins 这样的构建系统,因为它可以为您提供更多控制和可见性。我们已经建立了一个使用 Jenkins 和 github post-receive hooks 的持续部署系统,相对来说没有什么大惊小怪的。另一个优点是您可以通过链接作业在自动部署(如果它们通过)之前运行测试。

【讨论】:

    猜你喜欢
    • 2013-04-02
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2021-02-26
    • 2014-08-11
    相关资源
    最近更新 更多