1

我有一份在主计算机上运行 Maven 的 Jenkins 工作

我添加了一个后期构建步骤来运行声纳并将其指向项目的pom.xml.

问题是 Jenkins 构建运行在主服务器上,而声纳服务器运行在不同的机器上。因此,当构建完成时,Sonar 会在安装它的存储库中查找构建工件,而不是 Jenkins 运行 Maven 的主机。

除了在同一台机器上安装 Sonar 和 Jenkins 之外,还有其他解决方法吗?

更多细节:

[ERROR] Failed to execute goal on project server-api: Could not resolve dependencies for project frm:frm-server-api:jar:1.0-SNAPSHOT: Failure to find frm:frm-model:jar:1.0-SNAPSHOT in http://DIFFERENT_SERVER:7080/nexus/content/repositories/releases/ was cached in the local repository, resolution will not be reattempted until the update interval of releases has elapsed or updates are forced -> [Help 1]

这是一个与服务器或服务器DIFFERENT_SERVER无关的服务器,我们正在使用它,但不在这个项目的上下文中,所以我真的不知道它是如何到达那里的。我猜这是配置错误。更多细节:sonarJenkins

  1. Jenkins 作业类型是一个通用项目,而不是纯粹的 maven 作业。
  2. 我正在使用sonarjenkins 插件作为构建后触发器并指定pom.xml我正在使用的。
  3. 我已经配置settings.xmlMAVEN_HOME/conf所需的详细信息。
4

2 回答 2

2

Sonar 服务器在另一台机器上运行的事实绝对不是启动分析的问题,并且您应该没有任何问题从您的 Jenkins 主服务器运行 Sonar 分析,可能 Sonar DB 和/或 Sonar 服务器在不同的机器。

您只需确保 Jenkins 上的配置(= Sonar 属性)+ 您的机器配置(= 潜在防火墙)允许 Sonar 批处理:

  1. 查询 Sonar Web 服务器 URL
  2. 查询配置的数据库
于 2012-05-31T12:12:58.573 回答
2

我的问题是我没有在我的项目中添加任何东西,pom.xml而且我一直在使用 maven 到packageSonar 需要installmaven 存储库中的工件的阶段,以便以后可以使用它们。

所以我运行了 maven,mvn clean install -DskipTests=true后来又使用了 Sonar 后期构建步骤。

于 2012-05-31T14:32:24.143 回答