我要完成的工作是以下Jenkins(http://jenkins-ci.org)作业配置:
<project>-master
作业我通过指定适当的refspec来完成此任务,并添加了GitHub webhook等。这非常简单。
<project>-pr
作业我让 Jenkins (Jenkins)做前两个。但是我没有办法从该列表中选择#3项,因为GitHub插件无法轻松找到是否将其推送到PR分支。任何想法如何做到这一点?
<project>-branch
作业。问题是我想排除对PR使用的主节点和分支节点的推送。我已经在互联网上寻找可能的解决方案好几天了,却一无所获,因此任何提示将不胜感激。 最佳答案
据我所知,jenkins没有简单的方法来知道分支是否具有pull请求,因为pull请求是特定于github的,而jenkins分支检测仅使用git。
但是,根据我的经验,对于第三个选项,我设置了一个
<project>-feature
作业,并将其配置为匹配所有以f/
开头的分支。这样,如果开发人员希望测试针对其分支自动执行,但又不想针对该分支打开拉取请求,则他们可以在该分支中创建类似f/add_a_thing
的分支,并且它将在推送时自动触发测试。为此,我将在作业配置中将分支说明符设置为f/*
。另外,git插件允许分支指定符使用正则表达式参数。您可以使用正则表达式专门忽略master分支。但是,忽略拉请求分支的唯一方法是让开发人员使用命名模式(例如
pr/add_a_thing
)来确定该分支将具有拉请求。
关于github - 有没有一种方法可以将GitHub webhooks分为: master, pull-request和其他三个类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610719/