6
İki ayrı düğüm (yapı için bir tane, test için bir tane) kullanan bir boru hattı işim var ve bu kod bloklarının ikisi arasındaki bir değişkeni Jenkinsfile
numaralı telefonumda paylaşmak istiyorum. Mümkün olduğunu sanıyorum, ama ben groovy ve Jenkinsfile
kavramı için çok yeni. İşte şimdiye kadar alakalı kodudur:İki ayrı aşamada kullanılan Jenkinsfile değişkeni
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'
}
}
. Benim hatadır:
groovy.lang.MissingPropertyException: No such property: rev for class: groovy.lang.Binding
Ben sadece 'def rev = ""' ile 'node' blokların dışında' rev' tanımlamak sanırım. Sonra küresel bir bağlamdadır ve 'düğüm' bloklarınızda kullanılabilir. – fishi
Küresel hale getirmenin bir yolu olmalı diye düşünüyordum, ama her baktığımda, kaynaklar küresel Ortam değişkenlerini belirlemeye işaret ediyordu. Ben de sadece doğru şekilde kullandığımı emin olmak istedim. Teşekkür ederim! – user3270760