使用Git和Hudson预先检查RoR?

时间:2011-11-10 00:10:11

标签: ruby-on-rails git continuous-integration hudson jenkins

在.NET项目中,我使用TeamCity和Subversion来运行pre-checked builds

对于那些不熟悉预先检查的版本的人,我们的想法是,当您提交时,将使用针对trunk的changeset运行构建。

如果该构建通过,然后您的变更集将应用于主干。如果没有通过,您会收到通知,可以再试一次。

这样,来自主干的构建应始终为绿色,并且团队中没有其他任何人因构建破坏而中断。

我的问题是:有没有人使用Git和Jenkins(a.k.a。Hudson)在Ruby on Rails项目上实现类似的工作流程?如果是这样,请您分享一些提示/提示/文档?

2 个答案:

答案 0 :(得分:1)

您可能想看看Jenkins / Gerrit组合。 Gerrit是一个代码审查系统,您可以设置它,因此除非您的提交被批准,否则它不会将您的提交推送到master。您可以对其进行设置,以便Jenkins首先批准它。

我们开始将它用于一个C ++项目,其中Jenkins首先尝试构建补丁,如果成功则将其推送到主回购。这也不会在客户端停止git。

答案 1 :(得分:0)

要真的这样做,你想使用Git预接收挂钩。一个很好的(在推送代码时运行PHP测试)详见:a blog post on codeutopia.net

但是,条目的最后一句是:

  

它会导致git推送延迟到完成。

如果您的测试套件需要几分钟才能运行,并且严重烦人需要10或20分钟(因为开发人员机器上的git将坐在那里等待在预先接收挂钩退出之前不要放手。)

现在,您可以编写某种Hudson脚本,以便在构建中断时还原失败的提交。一个前团队尝试过这样的想法,但从未实现过。

相关问题