首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins使用通配符获取工件

Jenkins使用通配符获取工件
EN

Stack Overflow用户
提问于 2015-11-02 06:35:42
回答 1查看 1.8K关注 0票数 2

我试图使用wget传递-A参数和通配符"*.jar“来下载jar工件,但是jenkins没有下载jar文件。相同的命令适用于非jenkins url。有人和詹金斯合作过吗。非常感谢您的投入。

代码语言:javascript
复制
wget --no-check-certificate --auth-no-challenge -A "*.jar" -r -l 1 -nd "https://jenkins.xxxx.com/job/xxxx/6/artifact/target/"
--2015-11-02 06:24:36--  https://jenkins.xxxx.com/job/xxxx/6/artifact/target/
Resolving jenkins.xxxx.com... 1.1.1.1
Connecting to jenkins.xxxx.com|1.1.1.1|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://jenkins.xxxx.com/job/xxxx/6/artifact/target/ [following]
--2015-11-02 06:24:37--  https://jenkins.xxxx.com/job/xxxx/6/artifact/target/
Reusing existing connection to jenkins.xxxx.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `index.html'
[ <=>                                                                                                                                                ] 12,420      --.-K/s   in 0s
2015-11-02 06:24:37 (592 MB/s) - `index.html' saved [12420]

Loading robots.txt; please ignore errors.
--2015-11-02 06:24:37--  https://jenkins.xxxx.com/robots.txt
Connecting to jenkins.xxxx.com|1.1.1.1|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-11-02 06:24:37 ERROR 404: Not Found.

Removing index.html since it should be rejected.

FINISHED --2015-11-02 06:24:37--
Downloaded: 1 files, 12K in 0s (592 MB/s)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-04 11:50:27

更新:重新访问这个,我意识到Jenkins服务器实际上无法为 提供服务

代码语言:javascript
复制
Loading robots.txt; please ignore errors.
--2015-11-02 06:24:37--  https://jenkins.xxxx.com/robots.txt
Connecting to jenkins.xxxx.com|1.1.1.1|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-11-02 06:24:37 ERROR 404: Not Found.

在这个404错误之后,wget解释说它不会保留它下载的index.html

代码语言:javascript
复制
Removing index.html since it should be rejected.

manual中快速查找会产生拒绝:

(...)接受/拒绝列表与下载的文件匹配两次:一次针对该URL的文件名部分,以确定是否应该首先下载该文件;然后,在接受并成功下载该文件之后,还将对照接受/拒绝列表检查本地文件的名称,以确定是否应该删除该文件。的基本原理是,由于“.htm”和“.html”文件总是被下载,而不管接受/拒绝规则如何,如果它们与“接受/拒绝列表”匹配,则应该在下载并扫描链接后删除它们。

这意味着您最初请求的URL已被下载并扫描以查找链接,但没有一个链接与*.jar匹配,因此没有一个链接被检索。然后,删除最初请求的index.html,因为它的名称也与*.jar不匹配。

看起来,实际上没有指向您想要直接下载到此页面上的.jar构件的链接。具有讽刺意味的是,这意味着我最终还是建议使用-l2而不是-l1将子目录递归增加一个级别。正如我在前面的回答中所指出的,我确实在本地Jenkins安装上尝试过这一点,我实际上需要-l2从那里下载一个工件(但是确切的级别可能取决于项目设置和文件夹结构)。请尝试:

代码语言:javascript
复制
wget --no-check-certificate --auth-no-challenge -A "*.jar" -r -l2 -nd "https://jenkins.xxxx.com/job/xxxx/6/artifact/target/"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33471978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档