全部 -
我已经使用Jenkins大约一年了,现在我正试图为我的团队设置一个持续的交付渠道并提出问题。
问题
是否可以从一个SVN分支中获取Jenkins签出/编译/测试代码,然后,如果一切都通过,将该代码推送到另一个SVN分支?
对于我的团队,我设想了以下分支::
-Our Product Root
-Individual Issue Branches
-Issue1
-Issue2
-Issue3
-Integration Branch
-Stable Branch
-Production Branch
每个 个人问题分支 将是 稳定分支
的副本但
个别问题分支 的提交将转到 整合分支 。
我希望Jenkins能够::
那么,Jenkins可以从一个SVN分支检出/编译/测试代码,并且在成功时将该代码提交给另一个SVN分支吗?
感谢您的时间,
杰夫
答案 0 :(得分:1)
它取决于你的构建技术。
有很多方法可以实现这一点。
 1)发布后步骤 - 执行shell
&#xA;&#xA;< code> svn commit --file file1 file2&#xA;&#xA;&#xA;
这些文件可以从SVN变更请求获得。
&#xA;& #xA;2)使用SVN Publisher插件
&#xA;&#xA;https://wiki.jenkins-ci.org/display/JENKINS/SVN+Publisher
&#xA;&#xA;3)incase你正在使用SVN与ant http://subclipse.tigris.org/svnant/svntask.html < / a>
&#xA;&#xA;更多信息:
&#xA;&#xA; &#xA;答案 1 :(得分:0)
是的,这是可能的,但不是詹金斯本身的原生......除非(你猜对了)有一个插件可以做到这一点。
我将如何实现这一目标是通过一个脚本,在成功构建之后将第二个分支检出到一个新目录,然后将您需要的任何内容复制到该工作目录中,然后检入该新分支。
对我来说似乎很浪费,因此可能有提高效率的空间,特别是在其他分支机构的检查中。 SVN不是我的力量,所以我假设您必须首先检查分支到某个位置,进行一些更改,然后检查该分支。我不知道是否有办法将当前签出的分支机构签入另一个分支机构,并且能够自动处理可能出现的任何冲突。
答案 2 :(得分:0)
我最终使用了Subversion Merge Plugin。基本上,我刚刚创建了一个监视我的Stable分支的父Jenkins作业,并将其设置为允许使用该插件进行功能分支。
从那里,您可以使用该插件自动创建功能分支。这允许您在各个功能分支上进行编码。然后,当您确定您的代码是好的时,您可以使用插件的内置“集成到上游”功能将您的代码合并到您的稳定(主干)代码中。