配置流水线
流水线由阶段与任务组成:
你可以通过图形化 UI 配置流水线或 CIFile 文件两种方式配置流水线。下文将通过更为简单直观的图形化方式介绍如何配置流水线。
创建阶段
流水线中的阶段用来定义及划分持续集成中的不同流程与状态,例如编译阶段
、测试阶段
、发布阶段
等。一个阶段中包含多个任务,各个任务相互独立。若阶段中的任意任务运行失败,则会被标记为失败,但不影响其他阶段继续执行。待全部任务运行成功后,阶段才会被视为成功。
- 人工确认阶段
当出现关键词将暂停当前流水线执行,弹出确认界面用于人工确认继续或中止执行。使用此阶段需指定相应的处理人,支持在环境变量中进行指定,若有多位处理人则以分号分隔。
- 收尾阶段
此阶段可以根据前置阶段的运行结果决定是否允许此阶段,例如当前置任务运行失败时能够自动发送通知邮件。
创建任务
任务是整个流水线中的最小执行粒度,可以为任务单元定义自动化或手动执行,例如项目构建
、单元测试
、人工确认
等。每个任务可以由多个执行命令(cmd 或 bat)来组成。若执行失败(返回非 0),则中止后续命令执行,任务返回失败。只有当所有预设命令执行成功后才会将任务视为成功。
- 命令行
在任务中可以指定多行命令的执行顺序,如果返回值为 0 则表示成功,反之失败。前一个命令执行失败后将不再执行后续命令。
- 执行条件
此运行步骤仅在满足条件的情况下才会执行,例如下图中的条件是当本次任务分支为 master 时才会执行该任务。
- 产出列表
指定集成任务产出文件或目录(如构建产出、测试报告等),在网页端界面上提供下载。
- 状态文件
指定集成任务产出 status 文件或目录(除依据 cmds 的返回值判断任务是否成功外,CODING-CI 还支持通过 status 字段显式指定 task 的结果,并提供展示更丰富的任务结果信息的能力,查看status)
- 超时
定义等待输出的超时时间(为防止运行命令卡住,CODING-CI 默认 10 分钟内 task 命令如果无任何输出,就会判断 task 运行结果为超时。
- 多行命令
脚本内容默认支持多行命令命令,因此在命令行中支持编写 if 或 for 等逻辑表达式。
sh test.sh
if !(command -v unzip)
then
yum install -y unzip
fi
sh test.sh
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。