Jon*_*nas 6 git jenkins sonarqube
庞大的团队,每个团队都有独立的git分支,声纳作为代码质量检查员.
scm工具设置为拾取与此名称对应的每个分支:'feature-branch-*'对于maven构建,它完美地工作.
我想设置sonarqube所以它会为每个实际的git分支使用不同的分支,但是sonarqube不允许使用通配符.但它确实允许变量,所以我试过${GIT_BRANCH},但是这个变量保持:'origin/feature-branch-214',哪个sonarqube不能识别为有效的分支名称.Sonarqube期待'feature-branch-214'
所以我需要把东西放在那里(在sonarqube分支中),它做一个子串${GIT_BRANCH}来排除'origin/'部分.
您可以创建一个新变量并分配值:
`echo ${GIT_BRANCH} | cut -d'/' -f 2-`
Run Code Online (Sandbox Code Playgroud)
之后,您将能够通过以下步骤在Jenkins Git Branch SonarQube参数中使用新变量.
脚步
在构建部分中添加一个Execute Shell步骤command:
echo NEW_VAR=`echo ${GIT_BRANCH} | cut -d'/' -f 2-` > newfile
Run Code Online (Sandbox Code Playgroud)
然后添加一个Inject an environment variable步骤Properties File Path:
newfile
Run Code Online (Sandbox Code Playgroud)
在SonarQube配置中,离开该branch字段empty并在以下内容中添加以下内容Additional properties field:
-Dsonar.branch=${NEW_VAR}
Run Code Online (Sandbox Code Playgroud)
上面的解决方案不是很干净,但我已经证实它有效
| 归档时间: |
|
| 查看次数: |
9887 次 |
| 最近记录: |