对于多分支项目,我有一个声明性管道脚本,在该脚本中,我想读取文本文件并将结果存储为字符串变量,以供管道的后续步骤访问。使用摘要生成器,我尝试执行以下操作:
filename = readFile 'output.txt'
为此,这filename将是我的字符串。
filename
在Jenkins控制台输出中出现错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 30: Expected a step @ line 30, column 5. filename = readFile 'output.txt'
我是否需要使用一个withEnv步骤来将readFileJenkins环境变量的输出设置为?如果是这样,怎么办?
withEnv
readFile
谢谢
该错误是由于只允许您在steps指令中使用管道步骤。我知道一种解决方法是使用scriptstep并将任意管道脚本包装在其中,并将结果保存在环境变量中,以便以后使用。
steps
script
因此,在您的情况下:
pipeline { agent any stages { stage("foo") { steps { script { env.FILENAME = readFile 'output.txt' } echo "${env.FILENAME}" } } } }