阶段与任务
构建环境
使用 setup 指定每个 stage 预先要执行的操作,setup 中预设的命令将会在执行 task 之前运行。此参数常用于初始化构建环境,以便在分布式集成环境中也能使用到相同的环境。支持通过列表方式指定多条初始化环境,示例如下:
version: 2.0
worker:
label: mylabel
env:
USERNAME: myname
PASSWD:
secret: xxxxyyyzz #the string encrypted by CODING-CI public key
setup:
- yum install php
- pip3 install requests
#define the stages
stages:
...
阶段
各个 stage 之间按照顺序串行执行,即前一个 stage 下的所有任务执行完毕后才开始执行下一个 stage 中的任务。
stages:
- stage: 阶段 1-install
- stage: 阶段 2-build
- stage: 阶段 3-release
任务
同一个 stage 下可以运行多项 task,各个任务支持并发执行。
stages:
- stage: install
tasks:
- task: 任务 1
- task: 任务 2
若同一个 stage 下仅有一个 task,那么可以直接填写需执行的具体命令。
stages:
- stage: install
cmds:
- echo 'hello'
- echo 'hi'
串行执行多条命令行:
stages:
- stage: install
tasks:
- task: 任务1
cmds:
- echo 'hello'
- echo 'hi'
任务产出
artifacts
参数用于运行任务产出的构建结果,在 task
参数中配合进行使用,支持指定多项产出。
stages:
- stage: install
tasks:
- task: 任务1
cmds:
- echo 'hello'
- echo 'hi'
artifacts:
- ./dist/*.app
- ./result/report.html
任务状态
隐式指定:单个 cmd:返回码为 0 时视为成功,非 0 则视为失败。
显式指定:使用参数 status
进行指定。
stages:
- stage: install
tasks:
- task: 任务1
cmds:
- echo 'hello'
- echo 'hi'
status: ./status.json
任务超时机制
流水线通过两个策略来确定任务是否超时:
策略一:执行 task 下的 cmd 时,若间隔 10 分钟还未输出日志,则判定当前任务执行超时,此时提示为 errorCode:-1002
错误码。若 cmd 日志打印间隔不超过 10 分钟则不会超时。支持用户自定义超时时间。
策略二:task 开始执行之后,若超过 24 小时还未执行完毕,则判定当前任务执行超时。此时提示为 errorCode:-1001
错误码。在prompt
中的处理时间不会计算至任务的总超时时间。
问题反馈 >
2022-08-02最近更新
感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。