batch-file - 使用 wget 或 curl 从 Jenkins 下载工件

标签 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/

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

我从来没有得到过 ZIP 文件。如果我省略 -A zip 选项,我确实会得到 index.html,所以我认为授权正在工作,除非是某种 session 缓存问题?

使用 -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*/ 应用到该文件夹​​。

关于batch-file - 使用 wget 或 curl 从 Jenkins 下载工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31432189/

相关文章:

windows - for循环批处理文件

java - 运行 Jar 文件不起作用。找不到主程序

可以执行此批处理命令工作的 Linux 命令

curl - 如何将 "Access-Control-Allow-Origin: *" header 放入吊带节点中

linux - 如何使用 curl 命令行工具登录启用 cookie 的网站

docker - 如何使后续的 check out scm阶段在Jenkins管道中使用本地 repo ?

windows - 查询注册表的批处理文件

php - cURL 与 PHP 使用 PUT 传递数据

java - Jenkins:在没有描述符的类上使用 validateButton

github - 如何让 Jenkins 通过 Composer 检查私有(private)供应商 repo