gpt4 book ai didi

jenkins - 如何在 Jenkins 声明式管道中使用 Throttle 并发构建

转载 作者:行者123 更新时间:2023-12-03 14:15:40 26 4
gpt4 key购买 nike

我有 Jenkins 声明性管道,用于触发数据库刷新的几个不同存储库,以及依赖于数据库的单元测试。这些 Jenkins 作业由 GitHub 中的拉取请求触发。

为了避免资源冲突,我需要防止这些作业同时运行——无论是在每个项目内还是跨项目。

“Throttle Concurrent Builds”插件似乎是为此而构建的。

我已经安装了插件并配置了一个类别,如下所示:

TCB system configuration

我在应限制其构建的存储库之一中的 Jenkinsfile 中添加了“限制”选项:

pipeline {

agent any

options {
throttle(['ci_database_build'])
}

stages {
stage('Build') {
parallel {
stage('Build source') {
steps {

// etc etc...

但是,这似乎并没有阻止 2 个作业同时执行。作为证据,以下是同时执行的 2 个作业(均包含上述 Jenkisfile 更改):

Two throttled jobs running at the same time

我错过了什么?

最佳答案

选项块中的以下内容应该有效

options {
throttleJobProperty(
categories: ['ci_database_build'],
throttleEnabled: true,
throttleOption: 'category',
)
}
完整的语法可以在这里看到: https://github.com/jenkinsci/throttle-concurrent-builds-plugin/pull/68 )

关于jenkins - 如何在 Jenkins 声明式管道中使用 Throttle 并发构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60840371/

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