如何连接 Jenkins 文件中的变量
How can I concatenate variables in Jenkins file
我有一个 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:latest
我可以在 Jenkinsfile 中执行此操作吗?
这里的问题是您的文件中有换行符,因此它们作为字符串的一部分分配给您的变量。您可以使用 trim
方法删除换行符,因为 readFile
returns a String:
env.name = readFile('name.txt').trim()
env.tag = readFile('tag.txt').trim()
并且返回的标准输出将如您所愿。
我有一个 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:latest
我可以在 Jenkinsfile 中执行此操作吗?
这里的问题是您的文件中有换行符,因此它们作为字符串的一部分分配给您的变量。您可以使用 trim
方法删除换行符,因为 readFile
returns a String:
env.name = readFile('name.txt').trim()
env.tag = readFile('tag.txt').trim()
并且返回的标准输出将如您所愿。