我们创建一个新的Maven构建:
def rtMaven = Artifactory.newMavenBuild()
现在,我们想在与当前阶段不同的阶段重用该rtMaven。
就像下面的代码:
pipeline {
agent any
...
stages {
stage('stage1') {
steps {
script {
def rtMaven = Artifactory.newMavenBuild()
}
}
stage('stage2') {
steps {
script {
//REUSE rtMaven (now it's unknown)
}
}
}
}
是否可以在第二阶段重用rtMaven而不重新定义它?
现在我们有一个错误,例如:
groovy.lang.MissingPropertyException: No such property: rtMaven for class: groovy.lang.Binding
最佳答案
在全局范围内定义变量
def rtMaven = ''
pipeline {
agent any
stages {
stage('stage1') {
steps {
script {
rtMaven = Artifactory.newMavenBuild()
}
}
}
}
stage('stage2') {
steps {
script {
echo "$rtMaven"
}
}
}
}