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

如何让Jenkins并行任务共享带编号的有限外部测试资源池

Jenkins 测试槽位编号分配实现方案

完全可以实现,你对Lockable Resource插件的功能存在误解,该插件本身支持命名资源管理,可直接返回分配的具体槽位编号,无需自行维护资源数组。

实现步骤

1. 预配置槽位资源

  • 进入Jenkins后台→系统管理→系统配置,找到Lockable Resources Manager配置模块
  • 依次创建10个锁资源,资源名称设为1、2……10,所有资源统一添加标签test-slots用于批量筛选,其余配置保持默认即可。

2. Pipeline 调用示例

在Jenkinsfile中通过lock步骤申请资源,插件会自动分配空闲槽位,任务结束后自动回收:

pipeline {
    agent any
    stages {
        stage('功能测试') {
            steps {
                // 申请1个标签为test-slots的空闲资源
                lock(label: 'test-slots', quantity: 1, variable: 'SLOT_ID') {
                    echo "当前分配到的测试槽位编号:${SLOT_ID}"
                    // 把SLOT_ID作为参数传给测试程序,作为访问外部系统的令牌
                    sh 'python test_script.py --slot-id ${SLOT_ID}'
                }
                // 代码块执行结束后槽位自动释放,无需手动回收
            }
        }
    }
}

如果创建资源时加了前缀(比如test-slot-1),只需对SLOT_ID做字符串截取即可拿到纯数字编号。

备选方案(不推荐)

如果因权限问题无法安装插件,可通过Jenkins全局共享库配合文件锁实现资源数组的维护,但并发冲突、排队等逻辑都需要自行开发,稳定性远低于官方插件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:18:02