如何构造Gitlab矩阵job的artifact下载URL?
GitLab矩阵任务制品下载解决方案
GitLab矩阵任务生成的实际任务名会在基础任务名后追加矩阵变量标识,按照你给出的配置,实际生成的两个任务名分别为lambda_build: [tools]和lambda_build: [helper],可以通过以下两种方式获取下载链接:
方式1:手动构造下载URL
原普通任务的下载URL中,job参数需要传入URL编码后的完整矩阵任务名,特殊字符编码规则为:
- 冒号
:编码为%3A - 空格编码为
%20 - 左方括号
[编码为%5B - 右方括号
]编码为%5D
对应两个矩阵任务的下载URL分别为: - tools矩阵任务:
你的项目访问前缀/-/jobs/artifacts/master/download?job=lambda_build%3A%20%5Btools%5D - helper矩阵任务:
你的项目访问前缀/-/jobs/artifacts/master/download?job=lambda_build%3A%20%5Bhelper%5D
注意:如果你的制品存储在非master分支或者标签上,需要将URL中的
master替换为对应的分支名/标签名。
方式2:直接获取现成链接(零出错)
不需要手动拼接的更稳妥方案:
- 进入项目侧边栏「构建」-「任务」页面,找到对应运行成功的矩阵任务,点击进入任务详情页
- 页面右上角的「下载制品」按钮对应的链接就是该任务制品的有效下载地址,直接复制使用即可
自动化场景推荐方案
如果是在脚本中自动下载制品,更推荐使用GitLab API接口,只需要获取到对应矩阵任务的job ID即可调用,无需处理特殊字符编码:GET /projects/你的项目ID/jobs/目标任务ID/artifacts
内容的提问来源于stack exchange,提问作者Tobias Bruckert
相关产品推荐
相关产品推荐

