【问题标题】:CloudBees Jenkins job unable to resolve dependencies from within my private CloudBees Maven reposCloudBees Jenkins 工作无法从我的私有 CloudBees Maven 存储库中解决依赖关系
【发布时间】:2014-07-29 20:43:40
【问题描述】:

我在 CloudBees 上遇到了一个构建问题,希望有人能够提供一些解决建议。

我有两个项目:

  • "common" --> 由三个模块(模型、实用程序等)组成的 Maven 项目
  • "service" --> 一个 Play Framework 应用程序,它依赖于前面提到的“common”项目

我已经为构建“common”配置了 Jenkins 作业,以便部署到我的私有发布存储库,我可以看到它做了很多事情:

...
Deploying the main artifact models-0.0.1-SNAPSHOT.jar 
Downloading: dav:https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/0.0.1-SNAPSHOT/maven-metadata.xml
Uploading: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-20140329.091117-1.jar 
Uploaded: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-20140329.091117-1.jar (12 KB at 246.0 KB/sec) 
Uploading: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-20140329.091117-1.pom 
Uploaded: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-20140329.091117-1.pom (428 B at 11.3 KB/sec) 
Downloading: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/maven-metadata.xml 
Uploading: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/0.0.1-SNAPSHOT/maven-metadata.xml 
Uploaded: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/0.0.1-SNAPSHOT/maven-metadata.xml (772 B at 19.8 KB/sec) 
Uploading: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/maven-metadata.xml 
Uploaded: https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/maven-metadata.xml (282 B at 8.1 KB/sec)
...

我已经用详细信息和凭据配置了我的 Play 应用程序的 build.sbt 文件,以便从这个存储库中读取:

...
credentials += Credentials("CloudBees private Maven repos", "repository-myDomain.forge.cloudbees.com", "username", "password")

resolvers ++= Seq(
  "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/", 
  "CloudBees private snapshot repo" at "https://repository-myDomain.forge.cloudbees.com/snapshot/",
  "CloudBees private release repo" at "https://repository-myDomain.forge.cloudbees.com/release/"
)
...

但是,当我为我的“服务”项目运行构建作业时,找不到依赖项:

...
[warn]  module not found: com.myDomain#models;0.0.1-SNAPSHOT
[warn] ==== local: tried
[warn]   /home/jenkins/.ivy2/local/com.myDomain/models/0.0.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-SNAPSHOT.pom
[warn] ==== Typesafe Releases Repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-SNAPSHOT.pom
[warn] ==== Typesafe repository: tried
[warn]   http://repo.typesafe.com/typesafe/releases/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-SNAPSHOT.pom
[warn] ==== CloudBees private snapshot repo: tried
[warn]   https://repository-myDomain.forge.cloudbees.com/snapshot/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-SNAPSHOT.pom
[warn] ==== CloudBees private release repo: tried
[warn]   https://repository-myDomain.forge.cloudbees.com/release/com/myDomain/models/0.0.1-SNAPSHOT/models-0.0.1-SNAPSHOT.pom
...

我已经安装了我的 CloudBees WebDAV 快照并发布了存储库,我可以在那里看到我的“通用”模块...尽管带有时间戳或构建信息后缀。

谁能发现我忽略的东西?或者我对这个设置的理解不准确?任何帮助将不胜感激!

【问题讨论】:

    标签: maven cloudbees


    【解决方案1】:

    Credentials 构造函数的第一部分应该是服务器在基本身份验证中发送的领域。您还可以将凭据提供为explained here

    在我的例子中,真实的是clipnow repository,我必须将以下行添加到build.sbt(Play Framework 2.3)

    credentials += Credentials("clipnow repository", "repository-clipnow.forge.cloudbees.com", "USERNAME", "PASSWORD")
    
    resolvers += "clipnow repository" at "https://repository-clipnow.forge.cloudbees.com/snapshot/"  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多