使用wget或curl从Jenkins下载工件

Eri*_*rik 9 curl artifacts wget batch-file jenkins

我试图使用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/
Run Code Online (Sandbox Code Playgroud)

(*s是我为发布到SO而改变的字符)

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

随着-A zip我得到的响应的一部分:

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

所以我不确定它是否正在删除该文件,因此不遵循其链接?但这样做-A zip,html也行不通.

我已经尝试了几个wget选项,还有卷曲,但我无处可去.

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

Sla*_*lav 6

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

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

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

在哪里myfile.zip只是您为可下载档案分配的名称,可以是任何名称.

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