【发布时间】:2013-06-15 02:50:34
【问题描述】:
我正在使用 Nexus OSS 2.5.0_04,我们正在使用 Jenkins 和 Maven 上传和构建我们所有的项目。我们可以上传和下载到 Nexus 没有问题。
现在我正在尝试使用 Jenkins 来部署我们项目的最新快照版本。一点背景知识是我们有 4 个相互依赖的项目,在代码构建结束时,我们有一个要部署的 EAR 文件以及一个允许我们部署所有编译代码和命令行工具的 zip 文件。
所有这些构建完成后,我们的快照存储库中就有了一个 zip、一个罐子和一个耳朵。
我现在正在尝试使用 REST API 从 Nexus 下载最新的 ZIP 和 EAR 文件。我能跑:
wget "http://<NEXUS_HOST>/nexus/service/local/artifact/maven/redirect?r=snapshots&g=<OUR GROUPID>&a=<ARTIFACT>&v=LATEST"
这可以正常工作,但会下载一个 jar 文件。我试图指定我们想要 ZIP(和 EAR):
wget "http://<NEXUS_HOST>/nexus/service/local/artifact/maven/redirect?r=snapshots&g=<OUR GROUPID>&a=<ARTIFACT>&v=LATEST&p=zip" (also tried with ear. Also tried with the &e=zip...
每次生成 404。回购中肯定有工件。我也尝试使用内容方法:
wget "http://<NEXUS_HOST>/nexus/service/local/artifact/maven/redirect?r=snapshots&g=<OUR GROUPID>&a=<ARTIFACT>&v=LATEST&p=zip" --content-disposition
这都是 404 的。我们正在使用分类器为它们提供正确的内部版本号,但这似乎并未反映在 metadata.xml 文件中。当我运行 wget 时,我的路径很糟糕......
wget "http://<HOST>/nexus/service/local/artifact/maven/content?r=snapshots&g=<GROUPID>&a=<ARTIFACT>&v=LATEST&p=zip" --content-disposition
--2013-06-18 11:40:28-- http://<HOST>/nexus/service/local/artifact/maven/content?r=snapshots&g=<G>&a=<A>&v=LATEST&p=zip
Resolving <HOST>... 172.16.200.42
Connecting to <HOST>|172.16.200.42|:80... connected.
HTTP request sent, awaiting response... 404 Path /com/src/ecomm/ecomm/1.3-SNAPSHOT/ecomm-1.3-20130618.182910-114.zip not found in local storage of repository "Snapshots" [id=snapshots]
2013-06-18 11:40:28 ERROR 404: Path /com/src/ecomm/ecomm/1.3-SNAPSHOT/ecomm-1.3- 20130618.182910-114.zip not found in local storage of repository "Snapshots" [id=snapshots].
有没有办法可以将此分类器附加到请求中?似乎无法在文档中找到它。
IE,在这个例子中,我们想下载 ecomm-1.3-20130618.171422-113-b705-deploy-package.zip,但 Nexus 想把 ecomm-1.3-20130618.182910-114.zip 交给我们(不存在) .
编辑:已修复。 弄清楚了。必须指定分类器和扩展名。我能够让它工作......
wget "http://<HOST>/nexus/service/local/artifact/maven/redirect?r=snapshots&g=<GROUPID>&a=ecomm&v=LATEST&c=b705-deploy-package&e=zip"
我希望它从 metadata.xml 中提取分类器。我将不得不通过 lucene docs 看看我是否可以以某种方式搜索它。
【问题讨论】:
标签: maven build jenkins repository nexus