概念
本文解释与流水线相关的常见概念和术语。
流水线:
流水线 是一个软件交付过程,它被分成不同的阶段和步骤。设置流水线可以帮助开发者快速高效地上线新软件。Rancher 支持给每个项目单独设置流水线。流水线基于特定的仓库。它定义了构建、测试和部署代码的过程。Rancher 使用的是流水线即代码模型。在源代码仓库中,流水线配置以流水线文件表示,文件名为
.rancher-pipeline.yml
或.rancher-pipeline.yaml
。阶段:
一个流水线阶段由多个步骤组成。阶段按照流水线文件中定义的顺序执行。一个阶段中的步骤是同时执行的。只有上一个阶段中的所有步骤都完成且没有失败时,下一个阶段才会开始。
步骤:
流水线步骤在指定阶段内执行。如果一个步骤以
0
以外的代码退出,则该步骤失败了。如果某个步骤以此失败代码退出,则整个流水线将失败并终止。工作空间:
工作空间是所有流水线步骤共享的工作目录。在流水线开始时,源代码会被检出到工作空间。每个步骤的命令都会在工作空间中启动。在流水线执行期间,上一步骤的工件将在后续步骤中使用。工作目录是一个临时卷,将在流水线执行完成时使用 executor pod 进行清理。
通常,流水线阶段包括:
Build:
每次将代码签入仓库时,流水线都会自动克隆仓库并构建软件的新迭代。在整个过程中,软件通常通过自动化测试进行审查。
Publish:
构建完成后,将构建 Docker 镜像并将其发布到 Docker 镜像仓库,或发布商店应用模板。
Deploy:
发布工件后,你将发布你的应用,以便用户开始使用更新后的产品。