我有一个管道詹金斯作业A和一个詹金斯作业B,它们可能是也可能不是管道作业。 我必须:
就目前而言,我能够从工作A触发工作B,但我无法实现步骤2。 有人可以帮我吗?
答案 0 :(得分:1)
有几种方法可以实现。
如果使用文件,则在管道之间传递变量。 您提到您没有使用管道,所以我假设您不使用JenkinsFile
pipeline {
// Define the desired paramaters
parameters {
string(name: 'var1', defaultValue: '')
}
// Define global variable
stage("define global var") {
steps {
env.var1 = value1
}
}
stage("test variables") {
steps {
echo "${env.var1}"
}
}
}
将变量写入文件,然后从磁盘读取。
// First set the variables
script
{
env.var1_name = "var1_value"
.....
env.varX_name = "varX1_value"
// Print the values of the variables
echo " My vars[DEV:${env.var1_name }]
}
stage('define glbal variables') {
script
{
env.var1_name = "var1_value"
.....
env.varX_name = "varX1_value"
// Print the values of the variables
echo " My vars[DEV:${env.var1_name }]
}
}
// Define Job which need teh value of the variable
stage('Job A') {
echo "NEXT JOB DEV version = ${env.var1_name }"
}
stage('Job B') {
echo "NEXT JOB DEV version = ${env.var1_name }"
}
// Define a ---groovy--- global named [var1] which can be shared between steps
var1 = 'value1'
...
pipeline {
stages {
stage('A') {
steps {
echo "${var1}"
}
}
}
}