问题描述
我有一个Jenkinsfile,我想在构建过程中从文件中将变量加载到文件中,我也想将变量连接成一行并打印出来。
pipeline {
agent any
stages {
stage("foo") {
steps {
script {
env.name = readFile 'name.txt'
env.tag = readFile 'tag.txt'
}
echo "${env.name}:${env.tag}"
}
}
}
}
name.txt包含Uzodimma
path.txt包含最新
运行管道时,我得到
Uzodimma
:最新
我应该
Uzodimma:最新
在Jenkinsfile中有没有办法做到这一点?
解决方法
这里的问题是文件中包含换行符,因此它们作为字符串的一部分分配给变量。您可以使用trim
方法删除换行符,因为readFile
返回一个字符串:
env.name = readFile('name.txt').trim()
env.tag = readFile('tag.txt').trim()
,返回的标准品将符合您的期望。