Jenkins 文件 groovy 个问题
Jenkins file groovy issues
你好我的詹金斯文件代码如下:我基本上是在尝试调用 python 脚本并执行它,我在我的代码中定义了一些变量:当我试图 运行 它,它在开始时没有给出这样的 属性 错误,我无法找出它背后的原因。
如果对此有任何建议,我将不胜感激。
import groovy.json.*
pipeline {
agent {
label 'test'
}
parameters {
choice(choices: '''\
env1
env2'''
, description: 'Environment to deploy', name: 'vpc-stack')
choice(choices: '''\
node1
node2'''
, description: '(choose )', name: 'stack')
}
stages {
stage('Tooling') {
steps {
script {
//set up terraform
def tfHome = tool name: 'Terraform 0.12.24'
env.PATH = "${tfHome}:${env.PATH}"
env.TFHOME = "${tfHome}"
}
}
}
stage('Build all modules') {
steps {
wrap([$class: 'BuildUser']) {
// build all modules
script {
if (params.refresh) {
echo "Jenkins refresh!"
currentBuild.result = 'ABORTED'
error('Jenkinsfile refresh! Aborting any real runs!')
}
sh(script: """pwd""")
def status_code = sh(script: """PYTHONUNBUFFERED=1 python3 scripts/test/test_script.py /$vpc-stack""", returnStatus: true)
if (status_code == 0) {
currentBuild.result = 'SUCCESS'
}
if (status_code == 1) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
}
post {
always {
echo 'cleaning workspace'
step([$class: 'WsCleanup'])
}
}
}
这段代码给我以下错误:
hudson.remoting.ProxyException: groovy.lang.MissingPropertyException: No such property: vpc for class
有什么建议可以解决这个问题。
为选择变量使用不带破折号的另一个名称 -
,例如vpc_stack
或 vpcstack
并替换 python 调用中的变量名称。
你好我的詹金斯文件代码如下:我基本上是在尝试调用 python 脚本并执行它,我在我的代码中定义了一些变量:当我试图 运行 它,它在开始时没有给出这样的 属性 错误,我无法找出它背后的原因。 如果对此有任何建议,我将不胜感激。
import groovy.json.*
pipeline {
agent {
label 'test'
}
parameters {
choice(choices: '''\
env1
env2'''
, description: 'Environment to deploy', name: 'vpc-stack')
choice(choices: '''\
node1
node2'''
, description: '(choose )', name: 'stack')
}
stages {
stage('Tooling') {
steps {
script {
//set up terraform
def tfHome = tool name: 'Terraform 0.12.24'
env.PATH = "${tfHome}:${env.PATH}"
env.TFHOME = "${tfHome}"
}
}
}
stage('Build all modules') {
steps {
wrap([$class: 'BuildUser']) {
// build all modules
script {
if (params.refresh) {
echo "Jenkins refresh!"
currentBuild.result = 'ABORTED'
error('Jenkinsfile refresh! Aborting any real runs!')
}
sh(script: """pwd""")
def status_code = sh(script: """PYTHONUNBUFFERED=1 python3 scripts/test/test_script.py /$vpc-stack""", returnStatus: true)
if (status_code == 0) {
currentBuild.result = 'SUCCESS'
}
if (status_code == 1) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
}
post {
always {
echo 'cleaning workspace'
step([$class: 'WsCleanup'])
}
}
}
这段代码给我以下错误:
hudson.remoting.ProxyException: groovy.lang.MissingPropertyException: No such property: vpc for class
有什么建议可以解决这个问题。
为选择变量使用不带破折号的另一个名称 -
,例如vpc_stack
或 vpcstack
并替换 python 调用中的变量名称。