概念

本文解释与流水线相关的常见概念和术语。

  • 流水线

    流水线 是一个软件交付过程,它被分成不同的阶段和步骤。设置流水线可以帮助开发者快速高效地上线新软件。Rancher 支持给每个项目单独设置流水线。流水线基于特定的仓库。它定义了构建、测试和部署代码的过程。Rancher 使用的是流水线即代码模型。在源代码仓库中,流水线配置以流水线文件表示,文件名为 .rancher-pipeline.yml.rancher-pipeline.yaml

  • 阶段

    一个流水线阶段由多个步骤组成。阶段按照流水线文件中定义的顺序执行。一个阶段中的步骤是同时执行的。只有上一个阶段中的所有步骤都完成且没有失败时,下一个阶段才会开始。

  • 步骤

    流水线步骤在指定阶段内执行。如果一个步骤以 0 以外的代码退出,则该步骤失败了。如果某个步骤以此失败代码退出,则整个流水线将失败并终止。

  • 工作空间

    工作空间是所有流水线步骤共享的工作目录。在流水线开始时,源代码会被检出到工作空间。每个步骤的命令都会在工作空间中启动。在流水线执行期间,上一步骤的工件将在后续步骤中使用。工作目录是一个临时卷,将在流水线执行完成时使用 executor pod 进行清理。

通常,流水线阶段包括:

  • Build

    每次将代码签入仓库时,流水线都会自动克隆仓库并构建软件的新迭代。在整个过程中,软件通常通过自动化测试进行审查。

  • Publish

    构建完成后,将构建 Docker 镜像并将其发布到 Docker 镜像仓库,或发布商店应用模板。

  • Deploy

    发布工件后,你将发布你的应用,以便用户开始使用更新后的产品。