词汇表
持续集成中涉及的几个基本概念示意图如下:
流水线(Pipeline)
流水线是持续集成的基本单元,它定义了软件交付的完整流程,一般包含构建、测试,部署等阶段,像在一条既定的管道中逐步执行各项阶段。每个持续集成计划都能够被定义成一条流水线,各个阶段按顺序执行。
构建流水线
使用持续集成的前提是构建一个流水线,它由代码源(基础信息)、各阶段与任务流程、构建环境、构建资源、流程控制与构建日志等多项单位组成。
阶段(Stage)
流水线中的阶段用来定义及划分持续集成中的不同流程与状态,例如编译阶段、测试阶段、发布阶段等阶段。一个阶段中包含多个任务,各个任务相互独立。每个阶段在整条流水线中各自承担了独立、明确的责任。若阶段中的任意任务运行失败,则会被标记为失败,但不影响其他阶段继续执行。待阶段中的全部任务运行成功后,此阶段才会被视为成功。
任务(Task)
任务是在阶段中所定义的具体执行步骤,描述了在一个阶段内具体要做什么事,执行什么命令,任务的执行方式支持自动化或手动执行。每个任务具体由多个执行命令(cmd 或 bat)来组成,例如项目构建、单元测试、人工确认等任务。若执行失败(返回非 0),则中止后续任务执行,任务返回失败。只有当所有预设命令执行成功后才会将任务视为成功。
流水线插件
在构建流水线任务时,用户所需的一些功能操作可以通过插件来快速实现。用户可根据不同阶段需求在任务中配置相应插件。
构建产物(Artifacts)
构建产物代表当前流水线结果产出,支持在网页端进行下载。开发人员还可以自行指定当前任务执行结束后,何种文件或目录作为构建产出物。平台将对指定的文件,或目录下所有文件进行持久化存储并提供界面及接口的下载入口。
任务间缓存(Cache)
你可以在任意的任务中将部分文件(例如编译中间文件、编译证书文件、依赖包等)进行缓存,当后续执行相同的流水线时可以直接复用该缓存,减少中间文件或依赖文件的重新生成时间,从而达到集成加速效果。
任务内缓存(Temp)
持续集成使用分布式执行方式,流水线中的各阶段及任务在实际的执行过程中,有可能会被指派至不同的构建机。为保证上游任务的结果产出下游可继续复用,你可以在任意任务中将部分文件(例如任务执行产出文件、临时文件)进行缓存,待下游阶段中的各项任务执行时,平台会将这部分缓存文件拷贝至执行机上,从而将各项任务交由同一台执行机。与缓存(Cache)机制所不同,Temp 文件仅在单次流水线运行过程中生效,结束后将销毁。
工作空间(Workspace)
工作空间指的是构建机中的根目录。持续集成会将业务代码从 Git 或 SVN 代码仓库中检出至工作空间,所有任务的执行命令在工作空间中运行。建议在流水线中编写的脚本逻辑基于工作空间的相对目录执行,若脚本逻辑涉及工作空间以外的目录,有可能会导致不可预期的执行结果。
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。