Sri*_*vas 9 groovy jenkins jenkins-pipeline
我的詹金斯文件如下所示:
import groovy.json.*
def manifestFile = "C:\\manifest.yml"
node {
stage('Build') {
}
stage('Deploy') {
checkDeployStatus()
}
}
def boolean checkDeployStatus() {
echo "${manifestFile}"
return true
}
Run Code Online (Sandbox Code Playgroud)
我得到的例外如下:
groovy.lang.MissingPropertyException: No such property: manifestFile for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
Run Code Online (Sandbox Code Playgroud)
如何访问节点外的变量?
Rob*_*les 13
Groovy 在脚本级别具有不同类型的范围。我永远无法把这一切都放在我的脑海里。无需尝试解释其所有原因(并且可能没有做到公正),我可以告诉您(如您所见),该manifestFile
变量不在该函数的范围内。只是不要声明manifestFile
(即不要放在def
它前面)。这将使它成为一个“全局”(不是真的,但为了您的目的)变量,然后它应该可以在方法调用中访问。
小智 7
尝试这个
import groovy.json.*
manifestFile = "C:\\manifest.yml"
node {
stage('Build') {
}
stage('Deploy') {
checkDeployStatus()
}
}
def boolean checkDeployStatus() {
echo "${manifestFile}"
return true
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6368 次 |
最近记录: |