Jenkins:如何在一行中连接变量和字符串

问题描述 投票:0回答:1

我有一个 Jenkinsfile,其中需要通过连接变量和字符串来准备 zip 文件路径。我尝试了下面的代码片段,但它分成多行,如下所示:

13:14:02  Zip File Path: /apps/external/5/jenkins-node-home/workspace/APPL004316/APIN004621
13:14:02  /my_project
13:14:02  -0.1.29
13:14:02  -SNAPSHOT.zip

期望输出为:

/apps/external/5/jenkins-node-home/workspace/APPL004316/APIN004621/my_project-0.1.29-SNAPSHOT.zip
片段:

stage('Zip') {
            steps {
                script {
                    env.VERSION = sh script: 'grep -m 1 version_number ${WORKSPACE}/ComponentInfo.toml | tr -s \' \' | tr -d \'"\' | tr -d "\'" | cut -d\' \' -f3', returnStdout: true
                    echo "Version: ${env.VERSION}"
                    env.PROJECT = sh script: 'echo "${WORKSPACE}"|rev|cut -d\'/\' -f1|cut -d\'@\' -f2|rev', returnStdout: true
                    echo "Project: ${env.PROJECT}"
                    env.BASEPATH = sh script: 'echo ${WORKSPACE%/*}' , returnStdout: true
                    env.ZIP_FILEPATH = "${env.BASEPATH}/${env.PROJECT}-${env.VERSION}-SNAPSHOT.zip"
                    echo "Zip File Path: ${env.ZIP_FILEPATH}"
                }
            }
        }

我也尝试过使用“+”,但得到了相同的结果:

env.ZIP_FILEPATH = env.BASEPATH+"/"+env.PROJECT+"-"+env.VERSION+"-SNAPSHOT.zip"
jenkins jenkins-groovy
1个回答
0
投票

正如 @NoamHelmer 所说,添加

.trim()
有效。

env.ZIP_FILEPATH = "${env.BASEPATH.trim()}/${env.PROJECT.trim()}-${env.VERSION.trim()}-SNAPSHOT.zip"

谢谢诺姆

© www.soinside.com 2019 - 2024. All rights reserved.