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

如何在Jenkins流水线中调用其他流水线或在stage中调用独立Jenkinsfile

解决方案

你可以根据自身使用场景选择以下两种方案实现需求:

方案1:已为ing单独创建Jenkins任务

该方案适合需要两个流水线的执行记录独立归档、单独统计的场景,你现有代码逻辑正确,仅需按需补充可选参数即可,修正后示例如下:

pipeline{
    agent any
    stages{
        stage('one'){
            steps{
                echo 'hi'
            }
        }
        stage('two'){
            steps{
                // wait设为true代表主流水线等待ing任务执行完成再继续,propagate设为true代表ing任务失败会同步触发主流水线失败
                build(job: 'ing', wait: true, propagate: true)
            }
        }
    }
}

注意事项:

  • 确保job参数填写的名称和Jenkins中已创建的ing任务名称完全一致
  • 主流水线对应的服务账号需要拥有ing任务的构建权限

方案2:两个Jenkinsfile存放在同一个代码仓库,未单独创建ing任务

该方案适合仅需复用构建逻辑,不需要为ing单独维护Jenkins任务的场景,可直接使用load方法在当前流水线中加载并执行另一个Jenkinsfile,示例如下:

pipeline{
    agent any
    stages{
        stage('one'){
            steps{
                echo 'hi'
            }
        }
        stage('拉取代码'){
            steps{
                // 替换为你实际的Git仓库地址和对应分支
                git url: '你的Git仓库地址', branch: '对应分支'
            }
        }
        stage('two'){
            steps{
                // 按ing文件在仓库中的实际路径填写,若在仓库根目录直接写文件名即可
                load 'ing'
            }
        }
    }
}

注意事项:

  • 需根据ing文件在仓库中的实际存放路径调整load后的路径参数
  • 若ing为声明式流水线,加载后会直接执行其内部定义的所有构建逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:39:05