使用wget或curl从Jenkins下载工件

时间:2015-07-15 13:44:21

标签: batch-file curl jenkins wget artifacts

我正在尝试使用DOS批处理脚本从Jenkins项目下载工件。这不仅仅是微不足道的原因是我的工件是一个ZIP文件,其名称中包含Jenkins内部版本号,因此我不知道确切的文件名。

我目前的攻击计划是使用wget指向:/ lastSuccessfulBuild / artifact / 做某种递归/镜像下载。

如果我执行以下操作:

wget -r -np -l 1 -A zip --auth-no-challenge --http-user=**** --http-password=****  http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/

(* s是因为发布到SO而被更改的字符)

我从未收到过ZIP文件。如果我省略了-A zip选项,我确实得到了index.html,所以我认为授权是有效的,除非它有某种会话缓存问题?

-A zip我得到了回复的一部分:

  

删除 + 8080 / job / MyProject / lastSuccessfulBuild / artifact / index.html,因为它应该被拒绝。

所以我不确定它是否删除了该文件,因此不遵循其链接?但做-A zip,html也不起作用。

我已尝试了几种wget选项,并且还卷曲,但我无处可去。

我不知道我是否有错误的wget选项或Jenkins身份验证是否有特别之处。

1 个答案:

答案 0 :(得分:6)

您可以将/*zip*/desired_archive_name.zip添加到工件位置的任何文件夹中。

如果您的ZIP文件是作业存档的唯一工件,您可以使用:

http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/*zip*/myfile.zip

其中myfile.zip只是您为可下载档案分配的名称,可以是任何名称。

如果您有多个归档文件,您仍然可以获取所有这些文件的ZIP文件,并在提取时处理各个文件。或者将您想要的工件放在单独的文件夹中,并将/*zip*/应用到该文件夹​​。