2013-04-17 18 views
1

我正在面對Cloudbees Jenkins查找Maven存儲庫的常見問題。我們的項目還不成熟,所以我們在Assembla上使用私有存儲庫和外部SVN。通常jenkins會查看公共Cloudbees和我們的私有存儲庫來解決依賴關係。但有時它會在公共回購站停止,並且不能轉移工件。Jenkins如何查找Cloudbees中的maven倉庫?

編輯:觸發的作業項目A使用配置文件。此配置文件添加自定義屬性以完成構建。我已將它們放在本文檔的後面的private settings.xml中。

http://wiki.cloudbees.com/bin/view/DEV/Sharing+Files+with+Build+Executors

如此看來,這是停用CloudBees的默認配置文件。

此工作的一個示例未找到父級POM。 Jenkins能夠將父POM部署到私有存儲庫。它啓動

Uploaded: https://repository-accountid.forge.cloudbees.com/snapshot/com/company/projectA-pom/1.2-SNAPSHOT/projectA-pom-1.2-20130416.155847-5.pom (5 KB at 79.0 KB/sec) 
Downloading: https://repository-accountid.forge.cloudbees.com/snapshot/com/company/projectA-pom/maven-metadata.xml 
Downloaded: https://repository-accountid.forge.cloudbees.com/snapshot/com/company/projectA-pom/maven-metadata.xml (285 B at 7.0 KB/sec) 
Uploading: https://repository-accountid.forge.cloudbees.com/snapshot/com/company/projectA-pom/1.2-SNAPSHOT/maven-metadata.xml 
Uploaded: https://repository-accountid.forge.cloudbees.com/snapshot/com/company/projectA-pom/1.2-SNAPSHOT/maven-metadata.xml (600 B at 9.2 KB/sec) 
Uploading: https://repository-accountid.forge.cloudbees.com/snapshot/com/company/projectA-pom/maven-metadata.xml 
Uploaded: https://repository-accountid.forge.cloudbees.com/snapshot/com/company/projectA-pom/maven-metadata.xml (285 B at 5.5 KB/sec) 
[INFO] Deployment done in 0.62 sec 
Triggering a new build of projectA #12 

第二內建應該使用新的POM父(或至少在已發售)第二個作業(了projectA)。它在公共存儲庫中搜索並停在那裏。也許這是與Maven插件暫時的問題(無論是Maven的2詹金斯插件或CloudBees的Maven插件)

no change for https://subversion.assembla.com/svn/accountid.repo/projectA/trunk since the previous build 
Parsing POMs 
Failed to transfer Could not find metadata com.company:projectA-pom:1.2-SNAPSHOT/maven-metadata.xml in cloudbees-nexus-repository (http://repo.cloudbees.com/content/groups/public) 
Failed to transfer Could not find artifact com.company:projectA-pom:pom:1.2-SNAPSHOT in cloudbees-nexus-repository (http://repo.cloudbees.com/content/groups/public) 
ERROR: Failed to parse POMs 
hudson.util.IOException2: remote file operation failed: /scratch/jenkins/workspace/projectA at [email protected]:s-38976f5e 
    at hudson.FilePath.act(FilePath.java:877) 
    at hudson.FilePath.act(FilePath.java:863) 
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:910) 
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:654) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510) 
    at hudson.model.Run.execute(Run.java:1505) 
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:237) 
Caused by: hudson.remoting.ProxyException: hudson.maven.MavenModuleSetBuild$MavenExecutionException: org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs: 
[FATAL] Non-resolvable parent POM: Could not find artifact com.company:projectA-pom:pom:1.2-SNAPSHOT in cloudbees-nexus-repository (http://repo.cloudbees.com/content/groups/public) and 'parent.relativePath' points at wrong local POM @ line 14, column 10 

回答

2

是否已經閱讀了CloudBees Private Maven Repository維基頁面?您可能需要配置自定義settings.xml

+0

嗨,它似乎是唯一可行的解​​決方案:重寫自定義settings.xml中的cloudbees配置文件。問題依然存在,我們不知道Cloudbees使用的完整設置。 –

+0

我在這裏添加了一個更完整的解決方案:按照鏈接中的步驟,將settings.xml放到您的私有webdav目錄(/private/account/settings.xml)中。在您的Maven命令中激活配置文件ID「cloudbees-private-snapshot-repository」和自定義配置文件 –