我有Jenkins声明性管道,用于触发数据库刷新的几个不同的repos,以及依赖于数据库的单元测试。这些Jenkins作业是从GitHub中的pull request触发的。
为了避免资源冲突,我需要防止这些作业同时运行--在每个项目内和跨项目运行。
“Throttle Concurrent Builds”插件似乎就是为此而构建的。
我已经安装了插件并配置了一个类别,如下所示:
我还在其中一个构建应该被节流的仓库中的Jenkinsfile中添加了“throttle”选项:
pipeline {
agent any
options {
throttle(['ci_database_build'])
}
stages {
stage('Build') {
parallel {
stage('Build source') {
steps {
// etc etc...
但是,这似乎并不能阻止同时执行两个作业。作为证据,这里有两个作业(都包含上面的Jenkisfile更改)同时执行:
我错过了什么?
1条答案
按热度按时间iqjalb3h1#
选项块中的以下内容应该可以工作
完整的语法可以在这里看到:https://github.com/jenkinsci/throttle-concurrent-builds-plugin/pull/68)