使用 Jenkins 进行预先测试的提交?

使用 Jenkins 进行预先测试的提交?

楼上的人要求我设置 Jenkins 进行预测试提交(通过 Jenkins 的构建,如果所有单元测试和其他测试都通过,则提交并构建 dist)。我们在这里使用 svn。

有人清楚如何使用 Jenkins 实现这一点吗?我几乎找不到任何相关信息。

答案1

很抱歉这么说,但这不是您使用修订控制软件的方式。无论您在客户端上做什么,您都可以在服务器上获得完整的历史记录。您可以恢复任何更改,包括删除所有内容。仅将经过充分测试、经过实践检验的代码提交给修订控制,首先就绝对不会给您带来使用修订控制的好处。

您可以这样做:将一个分支标记为稳定(这应该是/trunk/braches/current-stable,我建议后者),让开发人员在其他地方提交。设置 Jenkins 进行测试,/trunk并且只有当它们通过构建测试时才合并从trunk到 的提交。current-stable

答案2

我认为“楼上的人”的目标是始终处于可发布状态的主分支/主干,因此需要进行预测试。对于像 Subversion 这样的集中式修订控制系统来说,这本身就很困难,而且很可能涉及某种自动分支调整和合并。

我个人使用 git 与 Gerrit 结合使用(http://code.google.com/p/gerrit/),一款与 Jenkins 结合使用的代码审查工具。开发人员从主分支拉取代码,但将其推送到 Gerrit 托管的“暂存 git 存储库”。Gerrit 则通过触发更改的 jenkins 构建作业做出反应。如果所有测试都通过,Gerrit 会接受更改并将其合并到主分支中。

答案3

您还可以使用Svn Revert 插件在詹金斯。

使用它将会恢复使构建不稳定的提交,从而无需“预测试提交”。

(我是该插件的作者)。

相关内容