如何在Jenkins文件中连接变量

问题描述

我有一个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()

,返回的标准品将符合您的期望。