我尝试在Jenkins中运行一个简单的流水线脚本,有两个阶段。脚本本身创建了一个textFile并检查它是否存在。但是当我尝试运行作业时,我得到了一个**“预期步骤”**错误。
我在什么地方读到过,你不能在一个步骤内有一个if
,所以这可能是问题所在,但如果是这样,我怎么能不使用if
进行检查呢?
pipeline {
agent {label 'Test'}
stages {
stage('Write') {
steps {
writeFile file: 'NewFile.txt', text:
'''Sample HEADLINE'''
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.txt”,并向控制台输出一个文本,确认它存在。
但是我实际上得到了两个**“期望一个步骤”**错误。在以Boolean bool = ...
和if(bool) ...
开始的行
2条答案
按热度按时间c3frrgcw1#
缺少声明性管道中所需的
script{}
步骤。报价:
指令码步骤会取得指令码管缐的区块,并在宣告式管缐中执行。
piztneat2#
出现
"Expected a step"
错误的原因有多种。我的错误是因为我用单引号
'
而不是双引号"
来括起一个步骤脚本。例如:上面使用的字符串使用了字符串插值(或者我猜它被称为“可模板化字符串”?),这对单引号字符串不起作用。
我想我会在这里添加这个答案,以防有人来自谷歌和接受的答案不工作!