gpt4 book ai didi

Jenkinsfile 变量用于两个不同的阶段

转载 作者:行者123 更新时间:2023-12-04 02:06:52 28 4
gpt4 key购买 nike

我有一个管道作业,它使用两个单独的节点(一个用于构建,一个用于测试),我想在我的 Jenkinsfile 中的两个代码块之间共享一个变量.我认为这是可能的,但我对 groovy 和 Jenkinsfile 还是很陌生概念。到目前为止,这是相关的代码:

node('build') {
stage('Checkout') {
checkout scm
}
stage('Build') {
bat(script: 'build')
def rev = readFile('result')
}
}

node('test') {
stage('Test') {
def SDK_VERSION = "5.0.0001.${rev}"
bat "test.cmd ${env.BUILD_URL} ${SDK_VERSION}"
archiveArtifacts artifacts: 'artifacts/**/*.xml'
junit 'artifacts/**/*.xml'
}
}

我想在构建阶段分配“rev”变量,然后在测试阶段将其连接到 SDK_VERSION 变量。我的错误是:
groovy.lang.MissingPropertyException: No such property: rev for class: groovy.lang.Binding

最佳答案

只需在 node 之前定义变量即可堵塞:

def rev = ''
node('build') {
stage('Checkout') {
checkout scm
}
stage('Build') {
bat(script: 'build')
rev = readFile('result')
}
}

关于Jenkinsfile 变量用于两个不同的阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42028366/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com