首页 > 解决方案 > 如何在jenkins中动态更改sonarqube projectVersion号

问题描述

我尝试通过添加https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Gradle或声纳建议的 sonar.projectVersion=${project.version} 在 jenkins 中动态更新 sonarqube 版本。 projectVersion=${$APP_BUILD_NUMBER} 这里是 APP_BUILD_NUMBER 环境变量,但没有使用它,因为它被认为是版本名称。

全面分析属性

# required metadata
sonar.projectKey=myproject
sonar.projectName=myproject
sonar.projectVersion=2.0.2
sonar.sourceEncoding=UTF-8


# path to source directories (required)
sonar.sources=src/main/java

# List of the module identifiers
sonar.modules=app,ui
ui.sonar.projectBaseDir=ui
# Properties can obviously be overriden for
# each module - just prefix them with the module ID
app.sonar.projectName=App

# Uncomment this line to analyse a project which is not a java project.
# The value of the property must be the key of the language.
sonar.language=java

# java version used by source files:
sonar.java.source=1.8

标签: jenkinssonarqubesonarqube-scan

解决方案


更详细的问题将有助于更好地回答。在这里,我做了假设以更好地回答。

我假设您尝试更新的动态版本名称是 jenkins 内部版本号。可以通过 jenkins 环境变量${BUILD_NUMBER}访问。你可以直接在“Execute Shell”中使用这个(即)echo ${BUILD_NUMBER}就可以了。

您也可以使用其他环境变量。例如:${BUILD_TAG}。您可以找到可用的 jenkins 环境变量列表http://JENKINS-URL/env-vars.html/

这些环境变量也可用于您的构建脚本(即)ANT、Maven、Gradle 等。只需确保您使用了正确的方法来访问构建脚本中的环境变量。对于蚂蚁:

<property environment="env"/>
<property name="sonar.projectVersion" value=${env.BUILD_NUMBER}"/>

推荐阅读