【问题标题】:Prevent accepting merge requests on sonar issues阻止接受有关声纳问题的合并请求
【发布时间】:2017-05-27 17:39:02
【问题描述】:

我正在使用由 Jenkins 执行的带有 SonarQube 的 GitLab。如果 SonarQube 报告了任何问题,我想阻止合并请求被接受。

对 Gitlab CE 或 EE 有什么想法吗?

【问题讨论】:

  • SonarQube 的运行情况如何?
  • SonarQube 将由 Jenkins 触发
  • 好的,在这种情况下,我假设 Gitlab 触发 Jenkins,而 Jenkins 触发 SonarQube

标签: gitlab gitlab-ci


【解决方案1】:

Gitlab CI 提供了两种方法来阻止合并请求,如果构建失败或存在未解决的讨论。 首先,请在this tutorial 之后配置一个 Jenkins 插件。 现在您已经集成了 gitlab-jenkins-ci 并且 gitlab 触发了 jenkins 构建,您必须在 gitlab 的项目设置中启用 Only allow merge requests to be merged if the build succeeds 并安装 SonarQube build breaker plugin 或使用 rest api

不涉及构建中断的方法是使用gitlab SonarQube plugin,但目前它不支持在合并请求上创建 cmets,因此您必须修改插件或使用 gitlab api 进行解决。

【讨论】:

  • 我已经在这样做了。当 Maven 构建和测试成功时,Jenkins 成功了。 Sonarqube 结果将不予考虑。
  • @NoobieNoob 所以真正的问题是当 SonarQube 结果为负时如何使 Jenkins 构建失败?
  • 不,最好将 Jenkins 和 Sonarqube 结果分开。 Jenkins 可能会成功构建项目,但应该阻止合并,因为 Sonarqube 发现了任何问题。
  • @NoobieNoob 据我所知,没有现有的解决方案可以做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 2022-11-21
  • 1970-01-01
  • 2011-03-02
  • 2021-12-20
  • 2021-07-11
相关资源
最近更新 更多