使用wget或curl从Jenkins下载构件 [英] Downloading artifacts from Jenkins using wget or curl
问题描述
我正在尝试使用DOS批处理脚本从Jenkins项目下载一个构件。这非常重要的原因是,我的构件是一个ZIP文件,其名称中包含Jenkins内部版本号,因此我不知道确切的文件名。
我目前的攻击计划是使用wget指向:/lastSuccessfulBuild/artiartie/ 执行某种递归/镜像下载。
如果我执行以下操作:
wget -r -np -l 1 -A zip --auth-no-challenge --http-user=**** --http-password=**** http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/
(*是我为发布到SO而更改的字符)
我从来没有收到过ZIP文件。如果我省略-A压缩选项,我会得到index.html,所以我认为授权是有效的,除非它是某种会话缓存问题?
使用-A zip
作为响应的一部分:
正在删除...+8080/job/MyProject/lastSuccessfulBuild/artifact/index.html,因为它应该被拒绝。
所以我不确定它是否删除了该文件,因此没有遵循其链接?但是执行-A zip,html
也不起作用。
我尝试了几个wget选项,也尝试了卷曲,但一无所获。
我不知道是wget选项错误还是Jenkins身份验证有什么特殊之处。
推荐答案
您可以将/*zip*/desired_archive_name.zip
添加到项目位置的任何文件夹。
如果您的ZIP文件是作业存档的唯一构件,则可以使用:
http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/*zip*/myfile.zip
其中myfile.zip
只是分配给可下载存档的名称,可以是任何名称。
如果您有多个归档的构件,您可以仍然获得所有构件的ZIP文件,并在提取时处理单个构件。或者将所需的项目放在单独的文件夹中,然后将/*zip*/
应用于该文件夹。
这篇关于使用wget或curl从Jenkins下载构件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!