jenkins - 如何在jenkinsfile中将内部版本号从一个作业传递到另一个作业以进行构建作业?
问题描述
我有一种情况,一个作业的内部版本号必须传递给另一个作业,下一个作业将使用它作为参数。
stages {
stage('Build Job1') {
steps {
script {
build job: "001_job"
$build_001= env.BUILD_NUMBER of 001_job
echo env.BUILD_NUMBER //this echos the build number of this job and not 001_job
}
}
}
stage('job_002') {
steps {
script {
build job: "job_002", parameters: [string(name: "${PAYLOAD_PARAM}", value: "$build_001")]
}
}
}
}
}
解决方案
我想出了一个办法来做到这一点。需要有一个全局环境变量,然后通过函数分配内部版本号,如下面的解决方案:
pipeline {
environment {
BUILD_NUM = ''
}
agent {
label 'master'
}
stages {
stage('Build Job1') {
steps {
script {
def build job: "001_job"
def build_num1 = build_job.getNumber()
BUILD_NUM = "${build_num1}"
echo BUILD_NUM //build number of oo1/job
}
}
}
stage('job_002') {
steps {
script {
build job: "job_002", parameters: [string(name: "${PAYLOAD_PARAM}", value: BUILD_NUM))]
}
}
}
}
}
推荐阅读
- office365 - Excel Javascript 插件:如何在任务窗格中打开 ExecuteFunction 而不是新的 iframe?
- r - 建立递归回归
- html - 文本无法正确显示 html5
- javascript - 如何在js中的css中使用react spring添加三元运算符
- python - 如何在另一个数据帧上使用函数之间比较两个数据帧
- linux - 如何禁用 HAProxy?
- lua - 为什么 Roblox Studio 中的地点之间的传送功能不接受字符串表?
- ios - 发布视频数据 Swift
- json - 如何将 JSON 文件解析为 Ruby 对象
- react-native - 当我使用键盘时,我的组件正在压缩