【问题标题】:Jenkins and SonarQube Scanner configuration to work offlineJenkins 和 SonarQube 扫描仪配置离线工作
【发布时间】:2017-02-05 05:36:30
【问题描述】:

我有以下情况:

服务器配置:Jenkins 版本。 2.7.1、SonarQube 插件 2.4.4

我的工作是使用 SonarQube 来检查一些质量指标。 SonarQube 服务器在 Jenkins 中配置良好,运行良好。

到目前为止,我使用 SonarQube Scanner 作为后期构建步骤,但现在不推荐这样做。

然后我将其更改为构建步骤和...

...配置 SonarQube Scanner 构建步骤后

SonarCube Scanner Configuration

,我开始工作构建,然后我得到:

Skipping installation of https://repo1.maven.org/maven2/org/sonarsource/scanner/cli/sonar-scanner-cli/2.6.1/sonar-scanner-cli-2.6.1.zip to /.../.jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/Sonar_Runner: java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.0 403 Forbidden"
------------------------------------------------------------------------
SONAR ANALYSIS FAILED
------------------------------------------------------------------------
FATAL: SonarQube Scanner executable was not found for Sonar Runner
Build step 'Execute SonarQube Scanner' marked build as failure

好的。那是真实的。不允许从 Internet 直接下载任何东西到 Build Server。

Analyzing with SonarQube Scanner页面上,没有关于这种后台自动下载以及如何配置的内容。

这是我在 Jenkins 中看到的所有 SonarCube 选项:

    SonarQube servers

    Environment variables
    SonarQube installations

    Name
    Server URL
    Server version
    Server authentication token
    SonarQube account login
    SonarQube account password
    Version of sonar-maven-plugin
    Additional arguments
    Additional analysis properties
    Database URL
    Database login
    Database password

    Skip if triggered by SCM Changes
    Skip if triggered by the build of a dependency
    Skip if environment variable is defined and set to true

我尝试将代理设置为 JAVA_OPTS 或环境变量,但没有帮助,而且无论如何我不会很高兴。

有人找到离线使用 SonarQube 扫描仪的方法了吗?

备注:使用 sonar:sonar 设置正常的 maven 构建步骤不是很舒服,因为每个作业都应手动配置并显式调用 SonarQube 服务器(包括完整的参数化)。

【问题讨论】:

    标签: jenkins configuration sonarqube jenkins-plugins sonarqube-scan


    【解决方案1】:

    对于您的问题:您可以手动下载 SonarQube Scanner,通过将其放在您的 Jenkins 服务器/从属服务器上并在全局配置中(Jenkins > Manage Jenkins > Configure System)配置,使其可供 Jenkins 使用通往它的道路。取消选中“自动安装”后,您将看到配置路径的输入。

    根据您的情况:如果您之前使用的是 Post Build Action,那么您说的是 Maven 作业。您说您不想使用标准的 mvn 构建步骤,因为每个作业都需要配置。我认为将您的 Maven 作业切换为使用 SonarQube 扫描器会带来更高的配置负担:现在您必须手动配置每个分析属性,而不是让它们从 pom 中自动读取。

    相比之下,

    1. 启用“准备 SonarQube 扫描仪环境”构建环境选项和​​i>
    2. 设置一个 mvn 构建步骤,看起来(字面意思!)像这样sonar:sonar -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_AUTH_TOKEN

    好像是鸡饲料。

    【讨论】:

    • 非常感谢您的回答。我错过了一点。如何:“让它对 Jenkins 可用,并配置它的路径。” ?我应该在哪里配置这个?
    • 在链接下:“SonarCube 扫描仪配置”我找到了我看到的屏幕截图 - 没有“自动安装”选项或者我错过了什么?
    • 我已经添加了配置路径
    • 我无法附上第二张截图,所以我手动列出了所有选项。我看不到“自动安装”:-)。我错过了一些额外的插件还是我的版本太旧了?
    • 可以在Jenkins --> Global Tool Configuration --> SonarQube Scanner下找到“自动安装”
    猜你喜欢
    • 2016-12-10
    • 2017-10-27
    • 2021-07-05
    • 2017-02-06
    • 2017-02-20
    • 2017-05-21
    • 2018-03-17
    • 2017-10-09
    • 2018-07-16
    相关资源
    最近更新 更多