title | pageTitle | pagePrevTitle | pagePrev | pageNextTitle | pageNext | sitemap |
---|---|---|---|---|---|---|
词汇表 - CODING 帮助中心 |
词汇表 |
持续集成简介 |
qci/intro/ci.html |
快速开始 |
ci/start.html |
false |
持续集成中涉及的几个基本概念示意图如下:
顾名思义,流水线是各项持续集成阶段的组合,像在一条既定的管道中逐步执行各项阶段。每个持续集成计划都能够被定义成一条流水线,各个阶段按顺序执行。
流水线中的阶段用来定义及划分持续集成中的不同流程与状态,例如编译阶段
、测试阶段
、发布阶段
等。一个阶段中包含多个任务,各个任务相互独立。若阶段中的任意任务运行失败,则会被标记为失败,但不影响其他阶段继续执行。待全部任务运行成功后,阶段才会被视为成功。
任务是整个流水线中的最小执行粒度,可以为任务单元定义自动化或手动执行,例如项目构建
、单元测试
、人工确认
等。每个任务可以由多个执行命令(cmd 或 bat)来组成。若执行失败(返回非 0),则中止后续命令执行,任务返回失败。只有当所有预设命令执行成功后才会将任务视为成功。
构建产物代表当前流水线结果产出,支持在网页端进行下载。开发人员还可以自行指定当前任务执行结束后,何种文件或目录作为构建产出物。平台将对指定的文件,或目录下所有文件进行持久化存储并提供界面及接口的下载入口。
你可以在任意的任务中将部分文件(例如编译中间文件、编译证书文件、依赖包等)进行缓存,当后续执行相同的流水线时可以直接复用该缓存,减少中间文件或依赖文件的重新生成时间,从而达到集成加速效果。
持续集成使用分布式执行方式,流水线中的各阶段及任务在实际的执行过程中,有可能会被指派至不同的构建机。为保证上游任务的结果产出下游可继续复用,你可以在任意任务中将部分文件(例如任务执行产出文件、临时文件)进行缓存,待下游阶段中的各项任务执行时,平台会将这部分缓存文件拷贝至执行机上,从而将各项任务交由同一台执行机。与缓存(Cache)机制所不同,Temp 文件仅在单次流水线运行过程中生效,结束后将销毁。
工作空间指的是构建机中的根目录。持续集成会将业务代码从 Git 或 SVN 代码仓库中检出至工作空间,所有任务的执行命令在工作空间中运行。建议在流水线中编写的脚本逻辑基于工作空间的相对目录执行,若脚本逻辑涉及工作空间以外的目录,有可能会导致不可预期的执行结果。
==== 2021/08/04 ====