---
title: 概念
---

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

- **流水线**：

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

- **阶段**：

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

- **步骤**：

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

- **工作空间**：

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

通常，流水线阶段包括：

- **Build**：

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

- **Publish**：

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

- **Deploy**：

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