用于下载Gitlab CI产生的artifacts。
Gitlab CI产生的artifacts并没有一个统一的文件目录存放,需要按一些规则去取:
- 首先根据commit id取到本次构建的pipeline信息
- 根据pipeline id取到jobs信息
- 根据job id拼接下载地址,取到artifacts文件
本库对这个过程做了封装。
全局安装
npm install -g @futu/ada使用
ada -g http://gitlab.com -p 12 -t X-XXXXXXXXXXXX -c ee9e4ad637b13e729e0d90c09a9b0990 -o dist.zipconst Ada = require('@futu/ada');
const ada = new Ada('http://gitlab.com', 12, 'X-XXXXXXXXXXXX');
ada.download('ee9e4ad637b13e729e0d90c09a9b0990', './dist.zip');gitlab/gGitlab http(s)访问地址project/p项目id,数字stage/s取artifacts文件的Stage name,默认为第一个stagetoken/tGitlab private token,在个人设置中可以生成commit/cCommit Idoutput/o输出文件,在CLI模式中,默认为当前目录下的artifacts.zipapiver/aAPI版本,默认为4,适用于Gitlab 12,如果使用Gitlab 10,请将值设置为3
- 修复当多个success状态的job存在时,取不到最新job的问题
- 支持传递stage参数,选择特定的stage来下载artifacts文件
- 添加
apiver参数,支持v4 api
- 基本功能完成