使用 sonar-runner 自动为 sonarqube 新项目报告应用自定义权限模板

Posted

技术标签:

【中文标题】使用 sonar-runner 自动为 sonarqube 新项目报告应用自定义权限模板【英文标题】:Apply custom permission template automatically for sonarqube new project report using sonar-runner 【发布时间】:2017-09-25 15:49:47 【问题描述】:

如何在 sonar-project.properties 下配置 sonar.projectKey 以便我们可以自动获取新项目报告的应用自定义权限模板。 有人尝试吗? 我正在尝试与 sonarqube 权限模板和 sonar-runner 属性文件中的项目密钥的所有类型的组合。但达不到效果。

声纳权限模板真的支持声纳运行器吗?

以下是我的用例链接所附的屏幕截图:

I have created mfg-desktop permission template and there is also present a default template provided by sonar

When I checked under project permission, I found that default permission template is getting applied in each time

【问题讨论】:

【参考方案1】:

创建一个新的权限模板并将正则表达式分配给项目密钥模式

例如: 正则表达式: (产品)-\w+

它会将模板应用到以“prod-”开头的Project Key 创建的新项目。 Sonar 需要新项目的密钥“完全”匹配权限模板密钥的正则表达式。使用 * 可能不起作用。

然后在模板上链接用户/组所需的权限。还要确保用户/组的全局权限也设置得当,否则权限将不起作用。

附加信息:所有用户仍然可以看到所有项目。将您的项目设为“私有”,使其仅对所需组可见。 这适用于 CE v7.6

【讨论】:

【参考方案2】:

sonar-project.properties 这边无事可做。

如in the docs 所述,使用项目密钥模式正则表达式设置您的权限模板。密钥与正则表达式匹配的所有新项目都将应用该权限模板。

例如,如果在“制造组”模板中,我将我的 项目密钥模式 设置为:

 mfg-*

并使用mfg-extrusion 的键分析一个新项目,然后将应用“制造组”模板。而当我第一次分析front-office-billing时,它不会。

【讨论】:

这适用于 sonarqube 5.6.4 LTS 吗?我目前使用的是这个版本。我已经尝试了上述步骤,我发现它不会将权限模板应用于权限模板项目密钥中定义的新创建项目。它始终应用声纳提供的默认权限模板。 @anandkrv 您应该编辑您的问题以包括您尝试过的内容(截图很好......)以及从中获得的结果。 我已经附上了上面的截图作为链接。你可以参考一下。 它对我有用!我已经重新检查了项目密钥的正则表达式。

以上是关于使用 sonar-runner 自动为 sonarqube 新项目报告应用自定义权限模板的主要内容,如果未能解决你的问题,请参考以下文章

[ci] 基于1 上文实现拉取代码后能自动触发sonar-runner实现代码扫描评测,job1完成

为多个 java 项目设置 sonar-runner

发现一sonar-runner bug

sonarqube安装好后,使用sonar-runner出错?

从 sonar-runner 迁移到 MSBuild Runner。 sonar-project.properties 文件去哪儿了?

Sonar-Runner 2.4 找不到代码覆盖率报告