Jenkins Pipeline编译错误排查:propagate参数语法问题
Jenkins Pipeline Groovy编译错误解决:unexpected token: ,
错误提示
错误:org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 164: unexpected token: , @ line 164, column 33. , propagate:false
问题根源
编译错误来自install_fugazi_new_image阶段的build步骤,存在两处语法违规:
parameters参数的闭合括号)后错误换行,导致propagate:false被Groovy解析为独立无效语句propagate:false前多了一个逗号,违反Groovy方法调用的语法规范
修正后的代码片段
将install_fugazi_new_image阶段的build步骤调整为如下正确形式:
stage ("install_fugazi_new_image") { when { expression {FUGAZI_PLATFORM_VAR} } steps { script { def IMAGE_FILE_VAR = FUGAZI_IMAGE_FILE_PATH_VAR.split("/").last() def TESTBED_FILE = "./curie/testbed_files/Fugazi_${TESTBED_NAME_VAR}.yaml" def INSTALL_IMAGE_ARGS = "./job_files/image_upload_job.py --testbed-file ${TESTBED_FILE} --image_file ${IMAGE_FILE_VAR} --mail-to ${MAIL_TO_VAR}" echo "args for install_new_image= ${INSTALL_IMAGE_ARGS}" build job: "/team_eng_ent_routing/CURIE/Helper_Projects/PYATS_JOB_EXECUTOR", parameters: [ string(name: "pyats_job_args", value: INSTALL_IMAGE_ARGS), string(name: "branch_name", value: BRANCH_NAME_VAR), string(name: "platform_name", value: "FUGAZI ${TESTBED_NAME_VAR}") ], propagate:false } } }
核心修改:删除parameters闭括号后的多余换行和逗号,让propagate:false作为build方法的参数直接衔接在参数列表后。
内容的提问来源于stack exchange,提问作者Akshay J
相关产品推荐
相关产品推荐

