配置事件触发
YAML流水线事件触发有两种配置方式:一种是流水线源仅包含一个代码源,另一种是流水线源包含多个代码源。这两种方式在层级上有所不同,但除此之外没有其他差别。
流水线源仅包含一个代码源
流水线源仅包含一个代码源时,不需要指定具体代码仓,默认关联到唯一的代码源。并且可以直接在on.merge_requests、on.push、on.tag_push中配置事件触发。
on:
merge_requests: #MR事件触发
types: [ merge, open, reopen, update ]
branches: [ 'master' ]
branches-ignore: [ 'test' ]
paths: [ 'test' ]
paths-ignore: [ 'test2' ]
code-update: true
push: #代码提交事件触发
branches: [ 'master' ]
branches-ignore: [ 'test' ]
paths: [ 'test' ]
paths-ignore: [ 'test2' ]
tags: [ 'master' ] #创建Tag触发
tags-ignore: [ 'test' ] | 参数名 | 说明 |
|---|---|
| merge_requests | 定义合并请求事件触发配置。 |
| branches | 分支包含。branches和branches-ignore的总数不能超过32个,且单个长度不得超过1024个字符。 |
| branches-ignore | 分支排除。branches和branches-ignore的总数不能超过32个,且单个长度不得超过1024个字符。 |
| paths | 路径包含。 |
| paths-ignore | 路径排除。 |
| types | 事件触发类型,共包含以下五种。
|
| push | 定义代码提交事件触发。 |
| tags | 创建Tag触发。Tag包含。tags和tags-ignore的总数不能超过32个,且单个长度不得超过1024个字符。 |
| tags-ignore | 创建Tag触发。Tag排除。tags和tags-ignore的总数不能超过32个,且单个长度不得超过1024个字符。 |
流水线源包含多个代码源
流水线源包含多个代码源时,需要在on.sources_identifier下配置。identifier为源的唯一标识。
on:
sources:
phonix_sample: #源唯一标识
merge_requests: #MR事件触发
types: [ merge, open, reopen, update ]
branches: [ 'master' ]
branches-ignore: [ 'test' ]
paths-ignore: [ 'test2' ]
push: #代码提交事件触发
branches: [ 'master' ]
branches-ignore: [ 'test' ]
paths-ignore: [ 'test2' ]
tags: [ 'master' ] #创建Tag触发
tags-ignore: [ 'test' ] | 参数名 | 说明 |
|---|---|
| sources | 多代码源场景下事件触发的配置。 |
| phonix_sample | 流水线源唯一标识,和sources下配置的代码源映射,不可配置产物源。仅支持大小写英文字母、数字、下划线,长度不超过128个字符。 |
| merge_requests | 定义合并请求事件触发配置。 |
| branches | 分支包含。branches和branches-ignore的总数不能超过32个,且单个长度不得超过1024个字符。 |
| branches-ignore | 分支排除。branches和branches-ignore的总数不能超过32个,且单个长度不得超过1024个字符。 |
| paths | 路径包含。 |
| paths-ignore | 路径排除。 |
| types | 事件触发类型,共包含以下五种。
|
| push | 定义代码提交事件触发。 |
| tag_push | 定义创建Tag触发。 |
| tags | 创建Tag触发。Tag包含。tags和tags-ignore的总数不能超过32个,且单个长度不得超过1024个字符。 |
| tags-ignore | 创建Tag触发。Tag排除。tags和tags-ignore的总数不能超过32个,且单个长度不得超过1024个字符。 |