我正在使用声明式jenkins多分支管道,我想使用
- 构建分支时
options { disableConcurrentBuilds(abortPrevious: false) }
- 构建pull requests时为
options { disableConcurrentBuilds(abortPrevious: true) }
。
期权
disableConcurrentBuilds
不允许管道的并发执行。可以用于防止对共享资源等的同时访问。例如:options { disableConcurrentBuilds()}在已经有正在执行的Pipeline构建时将构建排队,或options { disableConcurrentBuilds(abortPrevious:true)}中止正在运行的构建并开始新的构建。
是否可以配置Jenkins多分支管道,以便基于单个Jenkinsfile中的分支类型为disableConcurrentBuilds()选项使用不同的参数?
就像在Azure管道中使用批处理和自动取消一样:
trigger:
batch: true #waits until the run is completed, then starts another run
branches:
include:
- main
pr:
autoCancel: true #cancel in-progress runs for the same PR Defaults to true
branches:
include:
- '*'
1条答案
按热度按时间anhgbhbe1#
在构建拉取请求时,Jenkins定义了一个名为
CHANGE_ID
的环境变量。您可以使用它来设置布尔参数: