Jenkins使用通配符wget工件

时间:2015-11-02 06:35:42

标签: jenkins wget

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

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)

1 个答案:

答案 0 :(得分:1)

更新:重新审视这一点,我发现Jenkins服务器实际上无法提供its robots.txt file

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

Removing index.html since it should be rejected.

快速查询拒绝的wget manual收益:

  

(...)接受/拒绝列表与下载的文件匹配两次:   一旦对URL的文件名部分,确定是否该文件   应该首先下载;之后,过了之后   接受并成功下载,本地文件的名称也是   检查接受/拒绝列表以查看是否应该   除去。 理由是,因为'.htm'和'.html'文件是   总是下载不管接受/拒绝规则,他们应该   下载并扫描链接后删除,如果他们这样做   匹配接受/拒绝列表

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

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

wget --no-check-certificate --auth-no-challenge -A "*.jar" -r -l2 -nd "https://jenkins.xxxx.com/job/xxxx/6/artifact/target/"