jenkins - 在詹金斯拉取请求构建器作业中获取源分支名称的正确方法是什么
问题描述
我想在 Jenkins 拉取请求构建器上的 sonarqube 上使用分支分析功能。
我的存储库有一个 sonar.gradle 文件。如果我设置属性 sonar.branch.name = "featurebranch" 和 sonar.branch.target = "master" 并创建一个 PR,我看到 featurebranch 的 sonarqube 分析已更新
我想使用环境变量 ghprbSourceBranch (根据链接可用作环境变量)并且
set property sonar.branch.name = $ghprbSourceBranch in sonar.gradle file
我的 PR 构建失败,sonar.gradle 文件中的这行代码
property "sonar.branch.name", $ghprbSourceBranch
我尝试了以下方法,但它们也失败了
property "sonar.branch.name", ${ghprbSourceBranch}
property "sonar.branch.name", ${env.ghprbSourceBranch}
property "sonar.branch.name", System.getenv("CHANGE_BRANCH")
property "sonar.branch.name", System.getenv("TARGET_BRANCH")
property "sonar.branch.name", System.getenv("BRANCH_NAME")
解决方案
我在 Jenkins 中使用带有以下参数的Sonar Enterprise 7.9的 Pull-Request 分析功能,但使用 Sonar CLI 运行扫描:
sonar.pullrequest.key=${env.CHANGE_ID}
sonar.pullrequest.base=${env.CHANGE_TARGET}
sonar.pullrequest.branch=${env.CHANGE_BRANCH}
公关装修必备SonarCloud 扫描仪 Github App
sonar.pullrequest.provider=GitHub
sonar.pullrequest.github.repository=yourOrg/yourRepo
另请参阅声纳文档。
推荐阅读
- javascript - 设置文本输入字段显示值与实际值不同
- angular - 如何在 Angular 7 中实现面包屑
- protractor - 无法通过量角器选择下拉值
- python - 如何在 python 中为多个测试用例编写 yaml?
- angular - 以角度 7 从一个组件获取数据到另一个组件
- sql - 从多个/多个名称中仅选择一个名称
- android - 房间交易
- postgresql - Postgres 问题(无法连接数据库,角色不存在)
- python-3.x - 在 python 中使用或在 .feature 文件中表现
- java - 如何使用 Joda-Time 计算两个日期之间的年数、月数和天数