我希望在我的 Jenkinsfile 中添加一个条件阶段,该阶段根据构建的触发方式运行。目前我们的设置是通过以下方式触发构建:
- 对我们的 git 存储库的更改在分支索引中获取
- 用户使用 UI 中的“立即构建”按钮手动触发构建。
有没有办法根据这些操作触发构建来运行不同的管道步骤?
在詹金斯管道中没有currentBuild.rawBuild
可以通过以下方式检索访问构建原因:
// started by commit
currentBuild.getBuildCauses('jenkins.branch.BranchEventCause')
// started by timer
currentBuild.getBuildCauses('hudson.triggers.TimerTrigger$TimerTriggerCause')
// started by user
currentBuild.getBuildCauses('hudson.model.Cause$UserIdCause')
您可以通过以下方式获取布尔值:
isTriggeredByTimer = !currentBuild.getBuildCauses('hudson.triggers.TimerTrigger$TimerTriggerCause').isEmpty()
Or, as getBuildCauses() https://javadoc.jenkins.io/plugin/workflow-support/org/jenkinsci/plugins/workflow/support/steps/build/RunWrapper.html#getBuildCauses--返回一个数组,该数组的大小将与 Groovy true 语义一起正常工作:
if (currentBuild.getBuildCauses('hudson.triggers.TimerTrigger$TimerTriggerCause')) {
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)