如何通过Jenkins CLI/API等方式将最新构件下载至本地?
下载Jenkins最新构件的三种实用方法
一、使用Jenkins CLI下载
步骤1:获取Jenkins CLI客户端
从你的Jenkins服务器地址下载CLI jar包:
wget http://your-jenkins-url/jnlpJars/jenkins-cli.jar
步骤2:认证(必做)
用用户名+API Token完成认证(API Token在Jenkins个人设置→API Token中生成):
java -jar jenkins-cli.jar -s http://your-jenkins-url/ -auth your-username:your-api-token who-am-i
返回用户信息即表示认证成功。
步骤3:下载最新构件
直接拉取指定Job的最新成功构建构件,保存到本地目录:
java -jar jenkins-cli.jar -s http://your-jenkins-url/ -auth your-username:your-api-token copy-artifact \ --from-build latest \ --job your-job-name \ --includes "**/*.jar, **/*.war" \ # 按需指定要下载的构件格式或路径 --target ./jenkins-artifacts/ # 本地保存目录
若需下载所有构件,将--includes替换为--includes "**/*"即可。
二、通过Jenkins REST API下载
方法1:直接下载单个构件
确认最新成功构建的构件路径后,用curl/wget直接拉取:
# curl下载单个构件 curl -u your-username:your-api-token -O http://your-jenkins-url/job/your-job-name/lastSuccessfulBuild/artifact/path/to/your/artifact.jar # wget下载单个构件 wget --user=your-username --password=your-api-token http://your-jenkins-url/job/your-job-name/lastSuccessfulBuild/artifact/path/to/your/artifact.jar
lastSuccessfulBuild可替换为lastBuild(包含失败构建),按需选择。
方法2:批量下载所有构件
用wget递归下载整个构件目录:
wget --user=your-username --password=your-api-token \ --recursive \ --no-parent \ --no-host-directories \ --cut-dirs=5 \ # 按需调整,去掉URL中的多余层级 http://your-jenkins-url/job/your-job-name/lastSuccessfulBuild/artifact/
方法3:先查构件列表再下载
若不确定构件路径,先调用API获取最新构建的构件信息:
curl -u your-username:your-api-token http://your-jenkins-url/job/your-job-name/lastSuccessfulBuild/api/json?tree=artifacts[relativePath]
返回的JSON会列出所有构件的相对路径,拼接成完整URL即可下载。
三、注意事项
- 确保账号拥有Job读取权限和构件下载权限,否则会返回403错误。
- API Token比密码更安全,避免在命令行中传递明文密码。
- 若Jenkins启用HTTPS,将URL中的
http替换为https即可;需跳过证书验证时,curl加--insecure、wget加--no-check-certificate(仅测试环境使用)。
内容的提问来源于stack exchange,提问作者Lxmn
相关产品推荐
相关产品推荐

