You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python触发多个Jenkins任务?实现串行执行避免冲突

解决Jenkins任务串行执行的方案

方法一:通过Jenkins任务配置直接实现

  • 打开目标Jenkins任务的配置页面,找到**“高级项目选项”(部分版本在“构建触发器”区域),取消勾选“允许并发构建”**选项。此后所有触发的构建请求会自动进入队列,等当前构建完成后再依次执行,无需修改Python触发代码。
  • 若使用Pipeline流水线任务,可在Jenkinsfile中添加禁用并发的配置,强制串行执行:
pipeline {
    agent any
    options {
        disableConcurrentBuilds() // 禁止并发构建
    }
    stages {
        stage('Build') {
            steps {
                // 写入你的构建执行步骤
            }
        }
    }
}

方法二:在Python触发端控制串行逻辑

如果不想修改Jenkins任务配置,可以通过Python代码在触发前检查任务状态,等待任务空闲后再触发构建。以python-jenkins库为例:

import jenkins
import time

# 初始化Jenkins连接
jenkins_server = jenkins.Jenkins(
    'http://你的Jenkins地址',
    username='你的用户名',
    password='你的API令牌'
)
target_job = '你的任务名称'

def wait_until_job_idle():
    while True:
        # 获取任务当前运行的构建列表
        running_builds = jenkins_server.get_running_builds(target_job)
        if not running_builds:
            break
        print(f"任务{target_job}正在执行,10秒后重试...")
        time.sleep(10)

# 等待任务空闲后触发构建
wait_until_job_idle()
jenkins_server.build_job(target_job)

内容的提问来源于stack exchange,提问作者Shashank Gowda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 03:52:10