... | ... | @@ -7,7 +7,7 @@ |
|
|
* 流水线任务,定义*要做*什么。 例如,编译或测试代码的流水线任务。
|
|
|
* Stages,定义*何时*运行流水线任务。 例如,在编译代码的阶段之后运行测试的阶段。
|
|
|
|
|
|
流水线任务由[Runners](/docs/ci/runners.md)执行。 如果有足够的并发 runners,则可以并行执行同一阶段中的多个流水线任务。
|
|
|
流水线任务由[Runners](/docs/ci/runners)执行。 如果有足够的并发 runners,则可以并行执行同一阶段中的多个流水线任务。
|
|
|
|
|
|
如果一个stage中的*所有*流水线任务都成功,则流水线将继续进行下一个stage。
|
|
|
|
... | ... | @@ -22,7 +22,7 @@ |
|
|
* 一个`staging`阶段,其流水线任务称为`deploy-to-stage` 。
|
|
|
* 一个`production`阶段,其流水线任务称为`deploy-to-prod` 。
|
|
|
|
|
|
**注意:**如果你有[从 CODECHINA 提取镜像的仓库](/docs/user/project/repo/repo_mirror.md#pulling-from-a-remote-repository-starter),则可能需要在项目的**设置>仓库>镜像仓库>触发流水线更新镜像**中启用流水线触发。
|
|
|
**注意:**如果你有[从 CODECHINA 提取镜像的仓库](/docs/user/project/repo/repo_mirror#pulling-from-a-remote-repository-starter),则可能需要在项目的**设置>仓库>镜像仓库>触发流水线更新镜像**中启用流水线触发。
|
|
|
|
|
|
## 流水线类型[](#types-of-pipelines "Permalink")
|
|
|
|
... | ... | @@ -40,16 +40,16 @@ |
|
|
|
|
|
在 CI/CD 流水线配置文件中为每个项目定义了流水线及其组件流水线任务和 stages。
|
|
|
|
|
|
* [流水线任务](../jobs/index.md)是基本的配置组件。
|
|
|
* Stages 是通过使用[`stages`](/docs/ci/yaml.md#stages)关键字定义的。
|
|
|
* [流水线任务](../jobs/index)是基本的配置组件。
|
|
|
* Stages 是通过使用[`stages`](/docs/ci/yaml#stages)关键字定义的。
|
|
|
|
|
|
有关 CI 流水线文件中配置选项的列表,请参见《 [CODECHINA CI/CD 流水线配置参考》](/docs/ci/yaml.md) 。
|
|
|
有关 CI 流水线文件中配置选项的列表,请参见《 [CODECHINA CI/CD 流水线配置参考》](/docs/ci/yaml) 。
|
|
|
|
|
|
你还可以通过 CODECHINA UI 配置流水线的特定方面。 例如:
|
|
|
|
|
|
* 每个项目的[流水线设置](/docs/ci/pipelines/settings.md) 。
|
|
|
* [流水线计划](/docs/ci/pipelines/schedules.md)。
|
|
|
* [自定义 CI/CD 变量](/docs/ci/variables.md#custom-environment-variables)。
|
|
|
* 每个项目的[流水线设置](/docs/ci/pipelines/settings) 。
|
|
|
* [流水线计划](/docs/ci/pipelines/schedules)。
|
|
|
* [自定义 CI/CD 变量](/docs/ci/variables#custom-environment-variables)。
|
|
|
|
|
|
### 查看流水线[](#view-pipelines "Permalink")
|
|
|
|
... | ... | @@ -70,7 +70,7 @@ |
|
|
|
|
|
### 手动运行流水线[](#run-a-pipeline-manually "Permalink")
|
|
|
|
|
|
可以使用预定义或手动指定的[变量](/docs/ci/variables.md)手动执行流水线。
|
|
|
可以使用预定义或手动指定的[变量](/docs/ci/variables)手动执行流水线。
|
|
|
|
|
|
如果在流水线的正常操作之外需要流水线的结果(例如,代码构建),则可以执行此操作。
|
|
|
|
... | ... | @@ -80,7 +80,7 @@ |
|
|
2. 单击**运行流水线**按钮。
|
|
|
3. 在 **运行流水线**页面上:
|
|
|
1. 在 **运行分支或 tag**字段中选择要为其运行流水线的分支或 tag。
|
|
|
2. 输入流水线运行所需的任何[环境变量](/docs/ci/variables.md) 。
|
|
|
2. 输入流水线运行所需的任何[环境变量](/docs/ci/variables) 。
|
|
|
3. 单击**运行流水线**按钮。
|
|
|
|
|
|
流水线将按照配置执行流水线任务。
|
... | ... | @@ -114,7 +114,7 @@ |
|
|
|
|
|
### 向流水线添加手动交互[](#add-manual-interaction-to-your-pipeline "Permalink")
|
|
|
|
|
|
使用[`when:manual`](/docs/ci/yaml.md#whenmanual)关键字配置的手动操作允许你可在流水线前进之前需要手动交互。
|
|
|
使用[`when:manual`](/docs/ci/yaml#whenmanual)关键字配置的手动操作允许你可在流水线前进之前需要手动交互。
|
|
|
|
|
|
你可以直接从流水线图执行此操作。 只需单击播放按钮即可执行该特定流水线任务。
|
|
|
|
... | ... | @@ -143,7 +143,7 @@ |
|
|
|
|
|
每个用户都有一个个人流水线配额,该配额跟踪所有个人项目中共享 runners 的使用情况。每个组都有一个使用配额 ,该配额跟踪该组内创建的所有项目的共享 runners 的使用。
|
|
|
|
|
|
触发流水线时,无论是谁触发的,都会使用项目所有者的[namespace](/docs/user/org.md#命名空间)的流水线配额。在这种情况下,namespace 可以是拥有项目的用户或组。
|
|
|
触发流水线时,无论是谁触发的,都会使用项目所有者的[namespace](/docs/user/org#命名空间)的流水线配额。在这种情况下,namespace 可以是拥有项目的用户或组。
|
|
|
|
|
|
#### 如何计算流水线持续时间[](#how-pipeline-duration-is-calculated "Permalink")
|
|
|
|
... | ... | @@ -183,7 +183,7 @@ A,B 和 C 的并集是(1、4)和(6、7)。 因此,总运行时间为 |
|
|
|
|
|
### 受保护分支上的流水线安全[](#pipeline-security-on-protected-branches "Permalink")
|
|
|
|
|
|
在[受保护的分支](/docs/user/project/protected_branches.md)上执行流水线时,将强制执行严格的安全模型。
|
|
|
在[受保护的分支](/docs/user/project/protected_branches)上执行流水线时,将强制执行严格的安全模型。
|
|
|
|
|
|
仅当[允许用户合并或推送到](/docs/user/project/protected_branches.html#using-the-allowed-to-merge-and-allowed-to-push-settings)该特定分支时,才可以在受保护的分支上执行以下操作:
|
|
|
|
... | ... | |