【问题标题】:Perform SonarQube analysis on Jenkins only if SonarQube server is online仅当 SonarQube 服务器在线时才对 Jenkins 执行 SonarQube 分析
【发布时间】:2015-01-03 22:00:17
【问题描述】:

以下情况:

  • 拥有像 Jenkins 或 Hudson 这样的 CI 服务器
  • 使用 Maven 3 和 Java 项目/工件构建作业
  • 每次构建结束时都会执行 SonarQube 分析

发生但我无法控制的情况是,SonarQube 服务器不可用。根本原因与问题无关。如果构建尝试通过 Maven sonar:sonar 或 Jenkins SonarQube 插件作为后步骤执行 SonarQube 分析,SonarQube 分析会导致构建崩溃或状态为失败。在我看来,构建还可以,SonarQube 不是决定性因素。

如果 SonarQube 服务器不可用,是否有任何 (maven/jenkins) 插件或避免分析的可能性?只有当 SonarQube 服务器在线并且可以执行分析时,才会执行构建的 SonarQube 分析。

【问题讨论】:

    标签: java maven jenkins sonarqube


    【解决方案1】:

    目前没有这样的功能,但也许 Jenkins 有一些内置功能,只有在满足特定条件时才运行 post-job?在这种情况下,您可以只运行类似“curl”的命令来检查 SonarQube 服务器的可用性,作为执行后作业的条件?

    【讨论】:

    • 嗨 Fabrice,这不是那么简单,因此 SonarQube 服务器在线,但无法执行分析,例如数据库处于脱机状态。因此,您将获得响应代码 200 = OK,但您无法执行分析。 [错误] 无法在项目 foo 上执行目标 org.codehaus.mojo:sonar-maven-plugin:2.4:sonar (default-cli):无法连接到数据库:无法创建 PoolableConnectionFactory(用户 'admin'@' 的访问被拒绝db' (使用密码: YES)) ... ,但我的问题不够精确。
    猜你喜欢
    • 2013-09-13
    • 2019-06-04
    • 2020-12-09
    • 2016-04-10
    • 1970-01-01
    • 2016-11-02
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多