首页 > 解决方案 > Jenkins Groovy 脚本中预期的步骤

问题描述

我的 Jenkins 管道有以下 groovy 脚本。但是,在我的脚本已经有步骤的情况下,按照预期的步骤运行它的给出错误时。谁能建议这里有什么问题..

脚本文件

pipeline {
agent any
stages {
    stage('Workspace Preparation') {
        steps {
            sh """
                rm -rf ${workspace}/*
            """
        }
    }
   stage('Get Deployment files') {
       steps {
            dir("${workspace}/deployfiles") {
                if("${params.componentType}"=="A") {
                    echo "A component deployment"
                    checkout(## necessary step)
                }
                else if ("${params.componentType}"=="B") {
                    echo "B component deployment"
                    checkout(## necessary step)
                }
                else  {
                    echo "Invalid"
                }


              }
       }
    }
}

}

得到错误为

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 19: Expected a step @ line 14, column 6.
                    if("${params.componentType}"=="A") {
        ^
enter code here
enter code here

标签: jenkinsgroovyjenkins-pipelinejenkins-groovy

解决方案


您缺少一个script-block. (来源

这样的块使您可以访问执行 groovy 代码(例如,if-else 等)

stage('Check') {
        steps {        
            script { // Allows to execute groovy code
               dir (...) {
                 if (...)
               }    
            }         
        }

另请参阅:如何修复 Pipeline-Script “预期步骤”错误


推荐阅读