当前位置: 首页 > 面试题库 >

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

於德馨
2023-03-14
问题内容

我正在尝试用两个阶段在詹金斯中运行一个简单的管道脚本。脚本本身会创建一个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) ...


问题答案:

您错过了一个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等等等。



 类似资料:
  • 所以我一直得到这个“;”预期的错误,但似乎无法发现它在哪里,请您帮助。非常感谢。 从反应中导入反应,{useState,组件};从反应中导入{导航};从反应中导入{StyleSheet,TouchableHighlight,尺寸,文本,视图,Touchable不透明度,安全区域视图,图像, 按钮,TouchableWithouse tFeedback,滚动视图,文本输入,动画};从反应本机导入{c

  • 问题内容: 我正在研究Jenkins Pipeline:Multibranch的功能。据说最近采取的步骤可能有用,但是我无法了解它的工作原理和目的。 它的提示消息似乎不太清楚: 更新运行此步骤的作业的属性。多分支工作流主要有用,因此Jenkinsfile本身可以编码静态作业配置。 因此,我以此为脚本创建了一个新管道(直接粘贴到Jenkins中而不是SCM中): 我运行了它,但没有任何反应,作业没有

  • 问题内容: 使用自由样式项目时,您可以设置20分钟后,如果未结束,则构建将中止。Jenkins多分支管道项目如何做到这一点? 问题答案: 您可以使用超时步骤: 如果你需要一个不同的比 MINUTES ,您可以提供的参数: 编辑2018年8月: 如今,使用更常见的声明性管道(易于被顶层构造识别),也可以在不同级别(每个整体管道或每个阶段)使用指定超时: 尽管如此,如果您想将超时应用于声明式管道中的单

  • 当您使用自由风格项目时,您可以设置在20分钟后,如果未结束,则中止生成。Jenkins多分支管道项目如何实现这一点?

  • 1. 预处理的步骤 现在我们全面了解一下C编译器做语法解析之前的预处理步骤: 1、把第 2 节 “常量”提到过的三连符替换成相应的单字符。 2、把用\字符续行的多行代码接成一行。例如: #define STR "hello, "\ "world" 经过这个预处理步骤之后接成一行: #define STR "hello, " "world" 这种续行的写法要求\后面紧跟换行,中间不能有其它空白