gpt4 book ai didi

jenkins - 如何禁用分支索引触发器,但仍允许在多分支作业中触发 SCM

转载 作者:行者123 更新时间:2023-12-02 15:40:47 34 4
gpt4 key购买 nike

使用 Jenkins 多分支管道作业时,如果您在作业中选择抑制自动 SCM 触发器,它将在索引分支后停止构建作业(功能强大)。

但是由于某种原因,这也会终止从 SCM 事件触发构建的能力!

有什么方法可以阻止分支发现(分支索引)后触发构建,但仍然可以通过 SCM 事件正常构建?

最佳答案

您始终可以向管道添加逻辑,以在分支索引原因时中止。例如:

  boolean isBranchIndexingCause() {
def isBranchIndexing = false
if (!currentBuild.rawBuild) {
return true
}

currentBuild.rawBuild.getCauses().each { cause ->
if (cause instanceof jenkins.branch.BranchIndexingCause) {
isBranchIndexing = true
}
}
return isBranchIndexing
}

调整逻辑以适合您的用例。

编辑:Jenkins UI 中嵌入的管道语法 > 全局变量引用(例如: <jenkins url>/job/<pipeline job name>/pipeline-syntax/globals )包含有关 currentBuild 全局变量的信息,这会导致一些 javadocs:

The currentBuild variable, which is of type RunWrapper, may be used to refer to the currently running build. It has the following readable properties:

...

rawBuild:

a hudson.model.Run with further APIs, only for trusted libraries or administrator-approved scripts outside the sandbox; the value will not be Serializable so you may only access it inside a method marked @NonCPS

...

另请参阅:jenkins.branch.BranchIndexingCause

关于jenkins - 如何禁用分支索引触发器,但仍允许在多分支作业中触发 SCM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55173365/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com