我想在Jenkins文件的各个阶段之间传递变量,并且正如人们所建议的那样,通过写入文件然后解析它。
stage('1') {
steps {
sh "echo value > var.txt"
script {
VALUE = readFile('var.txt')
}
}
}
stage('2') {
steps {
sh "echo ${VALUE} && echo 'ok'"
}
}
但是,我在${VALUE}
结尾处获得某种形式的新行字符,这意味着我正在尝试执行2行,而&&
正在使该阶段成为barf。我试过通过tr -d '\r\n'
,但它似乎没有做任何事情。
答案 0 :(得分:0)
我的Jenkins文件也遇到了这个问题,该文件是一个时髦的脚本,这就是为什么我摆脱了要使用的值结尾处的EOL / CR字符的原因:
VALUE = readFile('var.txt').trim()
答案 1 :(得分:0)
除了执行 trim()
之外,您还可以通过为其指定 echo
参数来使 -n
不在该值后添加新行。所以改用sh "echo -n value > var.txt"
。