制品说明
制品说明
Gokins中在工作流产生的制品,Gokins有3种管理办法,您可以在scope
字段中标注制品的生命周期:
- archive:(repo)生成存档制品,制品不会因为流水线的结束而被销毁,而是会被上传到制品库中提供下载或者在其他流水线中引用
- pipeline:(pipe)生成流水线内使用的制品,在整个流水线运行状态时都可以再次引用,但是制品将会随着流水线状态终止而被销毁
- variable:(var)导出流水线内使用的
环境变量
,随着流水线状态终止而失去作用
小提示: 可以使用括号里的缩写
制品库
Gokins1.0 能够管理制品和在构建中使用制品
下文将会从几个方便来介绍如何使用制品库和如何在yml上使用制品库的方式
- 每个制品库都会拥有自己的唯一ID
- 制品库的唯一ID是在流水线中使用制品库的重要凭证
- 你可以在制品库页面获取制品库的唯一ID
生成制品
Yaml样例
1 | artifacts: # 生成制品 |
字段说明:
字段 | 说明 | 样例 |
---|---|---|
scope | 制品类型 | archive,pipeline,variable |
displayName | displayName | |
repository | 制品库ID | |
name | 制品名称 | |
path | 文件路径(相对于工作目录) | ./dir test.jar ... |
存档制品(Archive)
使用存档制品需要保证制品库和流水线存在于同一个组织,并且拥有制品库ID.
Yaml样例
1 | artifacts: # 制品 |
流水线制品(Pipeline)
产生的制品只能在流水线当前构建中使用
Yaml样例
1 | artifacts: # 制品 |
环境变量制品(Variable)
必须保证环境变量中存在name的变量,产生的变量只能在流水线当前构建中使用
Yaml样例
1 | artifacts: # 制品 |
流水线中使用制品
Yaml样例
1 | useArtifacts: # 使用制品 |
字段说明:
字段 | 说明 | 样例 |
---|---|---|
scope | 制品域 | archive,pipeline,variable |
displayName | displayName | |
repository | 制品库ID | |
name | 制品名称 | |
alias | 制品别名 | |
isUrl | 是否是URL | 详细请参考: 制品Url |
path | 路径 | 详细请参考: 制品Url |
fromStage | 选择stage | pipeline,variable中使用 |
fromStep | 选择step | pipeline,variable中使用 |
存档制品(Archive)
引入存档制品需要保证制品库和流水线存在于同一个组织,并且拥有制品库ID.
Yaml样例
1 | useArtifacts: # 制品 |
特殊字段介绍
- repository: 制品库ID
- name: 制品库中的制品名,可以使用
name@xxx
获取某个版本的制品(默认使用最新)1
2name: npxpublic@v1.0.0 #version
name: npxpublic@60f1a18159d63b0001000043 #sha&id - alias: 制品别名,在URL环境变量中使用(默认与name字段一致)
- isUrl: 是否是URL(当path为空时自动为true)
1
2
3
4
5
6
7
8
9# 以下说的 "path" 为yaml中的path字段
false:
# 引入制品到工作目录的 path
# 在ssh中无效,因为工作目录在远程服务器,无法同步文件,只能使用URL下载
true:
# 把下载制品url加入到环境变量:ARTIFACT_DOWNURL_${{alias}}.(eg: $ARTIFACT_DOWNURL_publicdir)
# 此时path用于指定下载链接指向的制品中文件路径(eg: public/xxx.js,main.jar)
# 当path为目录时下载会把目录压缩为zip - path: 根据isUrl有不同的定义,请参考上文
流水线制品(Pipeline)
引入当前构建中某个stage的某个step中产生的pipeline制品.
Yaml样例
1 | useArtifacts: # 制品 |
特殊字段介绍
- fromStage: 选择某个stage,默认为当前stage,一般为前面已经执行的stage
- fromStep: 选择fromStage下的某个step,一般搭配wait使用,保证制品已经存在
- name: fromStep中产生的pipeline制品name
- path: 引入制品到工作目录的 path 路径
环境变量制品(Variable)
引入当前构建中某个stage的某个step中产生的variable环境变量.
Yaml样例
1 | useArtifacts: # 制品 |
特殊字段介绍
- fromStage: 选择某个stage,默认为当前stage,一般为前面已经执行的stage
- fromStep: 选择fromStage下的某个step,一般搭配wait使用,保证制品已经存在
- name: fromStep中产生的variable变量name
1
2
3
4
5
6
7eg:
fromStep中:
export HELLO="hello world"
# artifacts.variable["HELLO"] 产生变量制品
当前Step中:
# useArtifacts.variable["HELLO"] 引用变量制品
echo $HELLO
案例
Gokins Demo
1 | 用户名: guest |