为什么 Sonar GitLab 插件在使用默认模板时不将分析结果作为评论发送到 gitlab?
Why is Sonar GitLab Plugin not sending analyze results to gitlab as a comments while using default templates?
我目前有一个 jenkins 作业,当使用配置的 webhooks 在 gitlab 项目中进行推送或提交时,该作业会被触发。一切正常,项目在应该使用 SonarQube 扫描器进行 Maven 方法分析时进行分析,问题是我想将 SonarQube 分析结果以全局或内联注释的形式推送到给定项目。所以我在我的 sonarQube 服务器上安装了 Sonar Gitlab plugin 。问题是它没有对结果进行评论。
如插件文档中所述,我已将默认模板用于全局和内联注释。我的 SonarQube 服务器上的 gitlab 配置如下所示:
SonarQubeConfig1 - gitlab名称是direct https link直接到一个仓库
SonarQubeConfig2 - 全局和内联注释中的 FreeMarker 语法配置直接来自您可以在 Sonar Gitlab 插件中找到的默认模板
SonarQubeConfig3
我没有添加与此相关的任何其他配置,除了我在 post 中列出的那些,谢谢。
我得到了这个工作,不同之处在于我有 Jenkins for CI/CD 而我没有使用 GitLab CI/CD。这是我必须做的:
在执行声纳扫描时,我必须传递以下属性:
sonar.analysis.mode=预览
sonar.branch=$GIT_BRANCH
sonar.gitlab.project_id={project_ID_from_GitLab}
sonar.gitlab.commit_sha=$GIT_COMMIT
sonar.gitlab.ref_name=$GIT_BRANCH
SonarQube 需要 运行 处于预览模式才能在 GitLab 中发布结果。
在 SonarQube 服务器上设置 GitLab URL 和用户访问令牌。
确保 GitLab 证书在 Sonar 服务器和扫描仪服务器上的 JRE/CACerts 上受信任。
第 1 步:在 Firefox
中浏览到您的 GitLab URL
第 2 步:单击 URL
旁边的锁定按钮
- 第 3 步:点击安全连接 -> 更多信息
- 第四步:点击查看证书->详情->导出
- 第 5 步:保存 crt 文件
- 第 6 步:在 Sonar 上 server/scanner - 打开管理员命令提示符
- 第 7 步:浏览至您的 java_home\jre\lib\security 文件夹
第 8 步:运行 以下命令,这会将 GitLab 证书添加到您的 Java 受信任证书列表中。
keytool -import -alias example -keystore "C:\Program Files\Java\jre_version\lib\security\cacerts" -file pathtothefile.cer
让我知道这是否适合您。
编辑 - 添加 Jenkins 配置截图。
我目前有一个 jenkins 作业,当使用配置的 webhooks 在 gitlab 项目中进行推送或提交时,该作业会被触发。一切正常,项目在应该使用 SonarQube 扫描器进行 Maven 方法分析时进行分析,问题是我想将 SonarQube 分析结果以全局或内联注释的形式推送到给定项目。所以我在我的 sonarQube 服务器上安装了 Sonar Gitlab plugin 。问题是它没有对结果进行评论。
如插件文档中所述,我已将默认模板用于全局和内联注释。我的 SonarQube 服务器上的 gitlab 配置如下所示:
SonarQubeConfig1 - gitlab名称是direct https link直接到一个仓库
SonarQubeConfig2 - 全局和内联注释中的 FreeMarker 语法配置直接来自您可以在 Sonar Gitlab 插件中找到的默认模板
SonarQubeConfig3
我没有添加与此相关的任何其他配置,除了我在 post 中列出的那些,谢谢。
我得到了这个工作,不同之处在于我有 Jenkins for CI/CD 而我没有使用 GitLab CI/CD。这是我必须做的:
在执行声纳扫描时,我必须传递以下属性:
sonar.analysis.mode=预览
sonar.branch=$GIT_BRANCH
sonar.gitlab.project_id={project_ID_from_GitLab}
sonar.gitlab.commit_sha=$GIT_COMMIT
sonar.gitlab.ref_name=$GIT_BRANCH
SonarQube 需要 运行 处于预览模式才能在 GitLab 中发布结果。
在 SonarQube 服务器上设置 GitLab URL 和用户访问令牌。
确保 GitLab 证书在 Sonar 服务器和扫描仪服务器上的 JRE/CACerts 上受信任。
第 1 步:在 Firefox
中浏览到您的 GitLab URL
第 2 步:单击 URL
旁边的锁定按钮
- 第 3 步:点击安全连接 -> 更多信息
- 第四步:点击查看证书->详情->导出
- 第 5 步:保存 crt 文件
- 第 6 步:在 Sonar 上 server/scanner - 打开管理员命令提示符
- 第 7 步:浏览至您的 java_home\jre\lib\security 文件夹
第 8 步:运行 以下命令,这会将 GitLab 证书添加到您的 Java 受信任证书列表中。
keytool -import -alias example -keystore "C:\Program Files\Java\jre_version\lib\security\cacerts" -file pathtothefile.cer
让我知道这是否适合您。
编辑 - 添加 Jenkins 配置截图。