是否存在一些用于巡航控制的插件,它会自动获取新的git分支并构建它们? 这就是我想做的事情: http://entagen.github.com/jenkins-build-per-branch/
答案 0 :(得分:4)
我没有注意到的插件,但我们自己动手制作了一个流程。我们使用mercurial而不是git,但我们使用这个基本过程来执行此操作:
我们创建了一个自定义可执行文件,在ChangeGroup事件触发时触发。看起来在git的情况下,你可以使用post-receive hook。
此可执行文件向mercurial询问刚刚推送的一组更改,然后通过它们进行解析,以查看哪些存储库和分支已受到影响。
对于每个新分支,它会找到我们为该存储库设置的模板,使用新的分支信息格式化模板并将其添加到文件“ccnethg.config”。然后它会触及主配置文件(ccnet.config),因此巡航控制将重新加载项目。
主配置文件(ccnet.config)设置为使用这个方便的xml技巧查看此文件:
这篇文章是在ccnet.config开头的:
<!DOCTYPE cruisecontrol [
<!ENTITY hgproject SYSTEM "file:ccnethg.config">
] GT;
然后在您定义项目的主配置中添加此片段
&安培; hgproject;
如果最后一点没有得到很好的解决,那么这是一个描述它的文档。请参阅拆分ccnet.config文件部分:http://build.sharpdevelop.net/ccnet/doc/CCNET/Multiple%20Projects.html
我们将它拆分为一个单独的文件,因为如果文件中的所有内容都是分支构建,那么在向文件添加/删除构建时,以编程方式处理会更容易。
如果您愿意,我可以提供更多详细信息。