【问题标题】:Jenkins Sonar execution misses maven build-helper parse-version propertiesJenkins Sonar 执行错过了 maven build-helper parse-version 属性
【发布时间】:2015-11-26 04:13:31
【问题描述】:

我的项目是使用 Maven 3.0 构建的,并使用插件 build-helper 在 initialization 阶段设置以下属性: parsedVersion.majorVersion, parsedVersion.minorVersion 它适用于构建,我还设置了sonar.branch=parsedVersion.majorVersion.parsedVersion.minorVersion

在 Jenkins 中,我添加了构建后步骤“声纳分析”(来自 Jenkins 的声纳插件),它最终出现以下错误:

Can not execute SonarQube analysis: Illegal character in query at index 108: 
http://<sonar url>/sonar/batch_bootstrap/properties?project=com.x.y.<ArtifactId>:${parsedVersion.majorVersion}.${parsedVersion.minorVersion}

所以属性值没有正确实例化。

有人遇到过这个问题吗?有解决方案还是 Jenkins 或 Jenkins 声纳插件中的错误?

【问题讨论】:

    标签: maven jenkins sonarqube


    【解决方案1】:

    您需要显式运行初始化阶段。

    在您的其他属性中包含-Dsonar.phase=initialize

    【讨论】:

    • 谢谢,这应该做的事情,将尽快测试
    • sonar.phase 已弃用我该怎么办?
    • @burtsevyg:如果您使用最新版本的 SonarQube 插件,则不应使用 sonar-qube 发布者,而是使用自定义 maven 步骤并在调用中简单地包含相关阶段,即“初始化声纳:声纳 ...”。见docs.sonarqube.org/display/SONAR/…
    • 我想在配置文件中使用 sonar-maven-plugin 和 maven-jgit-buildnumber-plugin 提供 ${git.branch} 变量,我把它放在 ${git.branch },但声纳说:“项目反应堆验证失败:[错误] o“${git.branch}”不是有效的分支名称。”我不明白为什么,为什么它不是空的?
    • @burtsevyg 因为 maven 只替换现有属性,所以它就是这样工作的。您使用 Jenkins 插件还是在命令行中调用 maven?最好创建一个新问题并将其链接到此处...
    猜你喜欢
    • 2017-10-04
    • 2014-12-07
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 2012-11-16
    • 1970-01-01
    相关资源
    最近更新 更多