You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Pipeline脚本报错:unexpected token: } 求助

错误原因分析及修正方案

你的Pipeline脚本出现编译错误,核心问题是在steps块中直接编写Shell命令,没有通过Jenkins Pipeline提供的sh步骤包裹,Groovy解析器无法识别裸写的Shell命令,从而抛出语法错误。

具体问题点:

  • cd /var/jenkins_home/p4/tools/ansible/DL/app/scripts/:Jenkins DSL中没有原生的cd步骤,需要用sh执行Shell的cd命令,或者更推荐用dir步骤切换目录(Pipeline规范写法)。
  • PYTHONPATH=shared python app_service_check.py -y 2023 -e test -p pc:同样属于Shell命令,必须用sh包裹才能被Jenkins正确执行。

修正后的脚本:

pipeline {
    agent { label 'test-deploy01' }
    stages {
        stage ('Change Directory') {
            steps {
                // 方式1:用sh执行cd命令(注意:单命令cd仅在当前sh会话生效,后续步骤需重新切换)
                // sh 'cd /var/jenkins_home/p4/tools/ansible/DL/app/scripts/'
                
                // 方式2:用dir步骤切换目录,后续步骤默认在此目录下执行(更规范)
                dir('/var/jenkins_home/p4/tools/ansible/DL/app/scripts/') {
                    // 可在此添加需在该目录执行的后续命令
                }
            }
        }
        stage ('Blaze Healthcheck') {
            steps {
                sh 'PYTHONPATH=shared python app_service_check.py -y 2023 -e test -p pc'
            }
        }
    }
}

额外说明:

如果使用sh 'cd ...',该目录切换仅在当前sh命令的会话中有效,后续steps若需在该目录执行命令,需重新切换;而dir步骤会让其内部所有步骤都在指定目录下执行,是Pipeline中切换工作目录的标准用法。

内容的提问来源于stack exchange,提问作者New2Python

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 23:42:27