Svn jenkins在成功构建后提交

Svn jenkins在成功构建后提交,svn,jenkins,post-build-event,pre-commit-hook,Svn,Jenkins,Post Build Event,Pre Commit Hook,我是詹金斯的新手,可能还不完全理解CI主题。考虑到我的研究,我发现如果我做CI,我将始终有稳定的构建。这让我有些困惑,因为我在詹金斯身上找不到这方面的任何东西。我的理解是,我有回购协议。Jenkins是基于这个回购协议的,在每次提交之后,我的项目都会被Jenkins签出并构建。但是如果提交实际上破坏了构建呢?这意味着我的回购协议也被破坏了。现在我正在寻找解决这个问题的方法。我对这种atm机的基本想法是,我有两个回购协议。(我正在使用subversion) 1。Repo:这一个从开发人员那里获得所

我是詹金斯的新手,可能还不完全理解CI主题。考虑到我的研究,我发现如果我做CI,我将始终有稳定的构建。这让我有些困惑,因为我在詹金斯身上找不到这方面的任何东西。我的理解是,我有回购协议。Jenkins是基于这个回购协议的,在每次提交之后,我的项目都会被Jenkins签出并构建。但是如果提交实际上破坏了构建呢?这意味着我的回购协议也被破坏了。现在我正在寻找解决这个问题的方法。我对这种atm机的基本想法是,我有两个回购协议。(我正在使用subversion)

1。Repo:这一个从开发人员那里获得所有提交。Jenkins基于此构建项目。

2。Repo:每当项目成功构建时,提交gos到该Repo中。我不知道如何完成这一部分,因为我在jenkins的项目配置中的后期构建步骤中找不到任何与此相关的内容。


您知道我如何实现此配置吗?

Jenkins没有任何内置的对“预测试提交”的支持,这似乎是您正在寻找的。见和。如果您使用git作为您的版本控制系统,那么看起来您已经做了一些努力(请参阅)


如果您正在寻找一个开箱即用的系统,那么您可能希望签出它并检查它。然而,这不是免费的产品。

这看起来不错。我认为每台好的CI服务器都有这样的功能,因为这对我来说非常重要?我也尝试过恢复插件,但它只恢复不稳定的版本,而不是失败的版本。詹金斯没有机会拥有类似的功能吗?我的意思是,当你不能工作,因为你必须等到开发人员修复了他搞砸的构建时,CI的意义何在?或者你理解错了吗?CI最重要的事情是快速发现问题,避免集成问题。下一步是防止问题进入源代码管理,这就是您所说的。即使没有预先测试提交的额外步骤,使用CI仍然是一个巨大的“胜利”。事实上,我认为SVN revert插件也会为失败的构建还原更改,因为我认为失败的构建也被认为是不稳定的。你可以测试一下。也就是说,最好首先防止代码进入SVN,但我认为目前Jenkins中没有任何支持。revert插件只恢复不稳定的版本,这是开发人员希望的功能方式,至少这是我研究的结果。我也尝试过它,它说:“不恢复,因为构建是不稳定的”,即使构建实际上失败了。我刚刚读过这篇文章,它解释了如何手动实现CI。我想知道第二步是什么“告诉人们在提交后不要升级,因为提交后还没有进行构建+测试”。与jenkins(例如)的自动化方法相比,这是一个巨大的优势,不是吗?既然没有这样的功能,每个人都可以随时更新他们的代码,不管发生什么?