当.yaml文件和自述文件被更改并提交时,我不希望Jenkins构建自动触发。我正在寻找可以在我的Jenkinsfile中调用的全局函数。
任何建议都值得赞赏。
谢谢!
答案 0 :(得分:5)
在作业的 Build Triggers 部分下的配置中,您应该能够找到所需的内容(通常在 Advanced 标签下)。例如,在我的Jenkins实例上,对于“ GitHub Pull Request Builder” 触发器类型,单击 Advanced 按钮后,您可以看到“排除的区域“ 文本框,其中包含以下帮助描述:
每个排除项均使用正则表达式模式匹配,并且必须用换行符分隔。
myapp/src/main/web/.*\.html myapp/src/main/web/.*\.jpeg myapp/src/main/web/.*\.gif
上面的示例说明,如果仅将html / jpeg / gif文件提交到GitHub存储库,则不会进行构建。 有关正则表达式的更多信息,请参见此处。
其他触发器类型将具有类似于“排除区域”的概念。
此外,詹金斯(Jenkins)以已解决的吉拉票证(例如JENKINS-21418和JENKINS-36614中讨论的各种方式,添加了类似的功能。
我希望能有所帮助。根据问题,我知道它不是Jenkins文件中的全局函数,但我认为它通常可以解决该问题。
答案 1 :(得分:2)
Jenkins声明性语言checkout可能还涵盖了 excludedRegions ,这与GitHub Pull Request Builder插件中描述的@entpnerd选项相同:
排除区域
如果设置,并且Jenkins设置为轮询更改,则Jenkins将忽略 确定是否构建时此列表中的任何文件和/或文件夹 需要被触发。
请参阅similar stackoverflow question中的Jenkinsfile示例。吉拉(Jira)问题JENKINS-36195要求使用此功能,JENKINS-36836提供了工作情况和非工作情况以及原因。
现实是it is not working and it is not planned to be included:
已经有一些简短的讨论,但是没有 计划解决这个问题
所以我将进行Jenkins GUI轮询配置。