Jenkins:如何获取声纳环境变量

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

如何获取声纳环境变量,如声纳主机、声纳项目密钥或声纳工作区,以便在带有 Jenkins 插件的电子邮件中使用它们:可编辑电子邮件通知。

有什么帮助或想法吗?

jenkins sonarqube jenkins-plugins sonarqube-scan
2个回答
3
投票

您可以使用

withSonarQubeEnv()
插件功能来提取值。您必须使用您希望其使用的 Sonar 变量来配置 Jenkins。您可以在下面的链接中找到更多相关信息。不幸的是,我似乎无法从 Sonarqube 找到提供哪些变量的文档。您可能想在
sh "env"
节中运行类似
withSonarQubeEnv
的内容来获得一个想法。

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins#AnalyzingwithSonarQubeScannerforJenkins-AnalyzinginaJenkinspipeline


0
投票

正如 @chizou 所解释的,您可以使用

withSonarQubeEnv()
来获取要在管道中使用的环境值。我只想添加更多信息,但是我想添加有关如何使用它的额外信息。

Jenkins 声纳插件源代码中,您可以看到注入的可用变量是:

  • SONAR_CONFIG_NAME
  • SONAR_HOST_URL
  • SONAR_AUTH_TOKEN
  • SONAR_MAVEN_GOAL
  • SONAR_EXTRA_PROPS

此变量是从 jenkins 管理器配置的,

SONAR_EXTRA_PROPS
是一个自定义参数,您可以在其中添加以逗号分隔的
key=vaule
对。

在脚本化管道中使用:

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                withSonarQubeEnv('Sonarqube') {
                    script{
                        // check the SONAR_ variables in all environment vars
                        def output = sh(returnStdout: true, script: 'env')
                        echo "Output: ${output}"    
                        
                        // or use directly
                        echo "${env.SONAR_HOST_URL}"
                        echo "${env.SONAR_CONFIG_NAME}"
                    }
                    
                }
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.