gpt4 book ai didi

git - Jenkins 管道环境变量

转载 作者:太空狗 更新时间:2023-10-29 14:36:25 26 4
gpt4 key购买 nike

我是 Jenkins 工作的新手,我似乎无法弄清楚如何使用全局环境变量。我需要找到我的 Jenkinsfile 所在的分支名称。我只将它放在功能分支中,因为我仍在测试它,并且我在管道的配置中指定了该功能分支。到目前为止,这是我的代码

pipeline {
agent any

options {
buildDiscarder(logRotator(numToKeepStr:'3'))
timeout(time: 30, unit: 'MINUTES')
}

tools {
maven 'Maven 3.3.9'
jdk 'JDK 1.8'
}

stages {
stage('Checkout') {
steps {
echo 'Checking out..'
checkout scm
echo "My branch is: ${env.BRANCH_NAME}"
}
}

stage('Build') {
steps {
echo 'Building..'
bat 'mvn clean verify -P!local'
}
}

stage('SonarQube analysis'){
steps{
echo 'Analysing...'
withSonarQubeEnv('SonarQube') {
bat 'mvn org.sonarsource.scanner.maven:sonar-maven plugin:3.2:sonar'
}
}
}
}

我已经尝试了很多不同的东西,但我总是以 ${env.BRANCH_NAME}

为空而告终

最佳答案

请注意,只有当您在 MultiBranch 项目中运行管道代码时,您才能获取分支名称环境变量。 Jenkins 的文档如下:

BRANCH_NAME对于多分支项目,这将设置为正在构建的分支的名称,例如,如果您希望从主分支而不是功能分支部署到生产环境;如果对应某种变更请求,名称一般是任意的(引用CHANGE_ID和CHANGE_TARGET)。

因此,您只能在多分支管道项目中使用环境变量。您可以使用以下变量在多分支项目中检索它:“${env.BRANCH_NAME}”

关于git - Jenkins 管道环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com