使用 wget 或 curl 从 Jenkins 下载工件

Downloading artifacts from Jenkins using wget or curl

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

我目前的攻击计划是使用 wget 指向:/lastSuccessfulBuild/artifact/ 进行某种 recursive/mirror 下载。

如果我执行以下操作:

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 我得到了响应的一部分:

Removing ...+8080/job/MyProject/lastSuccessfulBuild/artifact/index.html since it should be rejected.

所以我不确定它是否正在删除该文件,因此没有关注它的链接?但是做 -A zip,html 也不起作用。

我尝试了几个 wget 选项,也尝试了 curl,但我一无所获。

不知道是我的wget选项有误,还是Jenkins认证有什么特别之处

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

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

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

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

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