一尘不染

如何修复Pipeline-Script“预期的步骤”错误

jenkins

我正在尝试用两个阶段在詹金斯中运行一个简单的管道脚本。脚本本身会创建一个textFile并检查该文本文件是否存在。但是,当我尝试运行作业时,出现“预期步骤”错误。

(’Write’)阶段似乎工作得很好,因此(’Check’)阶段也可以正常工作。

我读过某处的内容,您无法在步骤中包含if,这可能是一个或一个问题,但是如果是这样,我如何不使用if进行检查?

pipeline {
    agent {label 'Test'}
    stages {
        stage('Write') {
            steps {
                writeFile file: 'NewFile.txt', text: 
                '''Sample HEADLINE
                This is the secondary HEADLINE ...
                In this third Line below the HEADLINE we will write some larger Text, to give the HEADLINE some Context lets see how that ends up looking. HEADLINE ... HEADLINE ... This should be long enough ...'''
                println "New File created..."
            }
        }
        stage('Check') {
            steps {        
                Boolean bool = fileExists 'NewFile.txt'
                if(bool) {
                    println "The File exists :)"
                }
                else {
                    println "The File does not exist :("
                }            
            }
        }
    }
}

我希望该脚本在代理工作区中创建一个“ NewFile”,然后将文本打印到控制台以确认其存在。

但是我实际上收到两个“预期的步骤”错误。从Boolean bool = ... 和处开始if(bool) ...


阅读 283

收藏
2020-07-25

共1个答案

一尘不染

您错过了一个script街区。引用(来源):

脚本步骤采用一块脚本管道,并在声明性管道中执行。

    stage('Check') {
        steps {        
            script {
                Boolean bool = fileExists 'NewFile.txt'
                if(bool) {
                    println "The File exists :)"
                }
                else {
                    println "The File does not exist :("
                }   
            }         
        }
    }

基本上,在脚本块中,您可以使用所需的所有内容。Groovy,if,try-catch等等等。

2020-07-25