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