我从楼上的人那里得到了一个要求,将Jenkins设置为Pretested提交(通过在Jenkins的构build,如果所有的unit testing和其他通过然后提交并构builddist)。 我们在这里使用svn。
有没有人清楚jenkins如何做到这一点? 我发现旁边没有任何信息。
对不起,这样说,但这不是你使用版本控制软件的方式。 无论您在客户端上做什么,都可以在服务器上拥有完整的历史logging。 您可以恢复任何更改,包括删除所有内容。 只将经过全面testing,经过validation的代码提交给版本控制,绝对没有使用版本控制的好处。
你可以做的是:把一个分支标记为stable(这应该是/trunk或/braches/current-stable ,我build议后者),让开发人员去其他地方。 安装Jenkins在/trunk上执行testing,并且只有在它们通过构buildtesting时,才能将trunk从commit中合并到current-stable 。
我假设“楼上的人”是针对一个始终处于可释放状态的主分支/主干,因此是预testing的要求。 这对于像Subversion这样的集中版本控制系统来说固有的困难,并且很可能涉及某种自动的分支和合并。
我个人使用git与Gerrit( http://code.google.com/p/gerrit/ )一起,与Jenkins一起使用代码审查工具。 开发人员从一个主分支拉,但推到由Gerrit托pipe的“分期git回购”。 Gerrit反过来通过触发一个jenkinsbuild立工作的变化。 如果所有的testing都通过了,Gerrit会接受这个变更并将其合并到主分支中。
你也可以在Jenkins中使用Svn Revert插件 。
使用它将会恢复提交,使构build不稳定,从而不需要“Pretested提交”。
(我是插件的作者)。