管道配置结构
有两个顶层部分可以在管道配置中定义:
- 一个
2022世界杯阿根廷预选赛赛程
节,该节指定2022世界杯阿根廷预选赛赛程由自动化管道使用。 - 一个
管道
节,该节指定管道执行环境和的步骤来执行。
为了便于说明,我们将在单个管道配置文件中描述它的样子(例如:pipelines.yml
)。
Pipeline Config File (YAML)
resources:
- name: resource-1 type: [resource-type] configuration: [resource settings]
- name: resource-2 type: [resource-type] configuration: [resource settings]
pipelines: - name: my_pipeline configuration:
[environment and runtime settings]
- name: step-name type: [step type] configuration: inputResources: [triggering resource] [step settings] execute: [shell commands to execute on condition]
- name: step-name type: [step type] configuration: inputResources: [triggering resource] [step settings] execute: [shell commands to execute on condition]
2022世界杯阿根廷预选赛赛程参考资料部分
2022世界杯阿根廷预选赛赛程资源提供执行步骤所需的信息,或存储由步骤生成的信息。例如,资源可能指向源代码存储库、Docker映像或Helm图表。所有支持的资源的列表可在2022世界杯阿根廷预选赛赛程2022世界杯阿根廷预选赛赛程资源概述.
每个的基本格式2022世界杯阿根廷预选赛赛程
宣言是:
标签 | 描述 |
---|---|
名字 |
资源的全局唯一的友好名称。 |
类型 |
指定资源类型的预定义字符串。 有关更多信息,请参见资源类型. |
配置 |
开始资源所需的设置部分 |
资源定义是全局的,可以被所有管道使用在至少一个相同环境中的项目中.这意味着资源名在项目中的所有管道配置文件中必须是唯一的。
例如,这是a2022世界杯阿根廷预选赛赛程
节,该节定义了两个资源2022世界杯阿根廷预选赛赛程GitRepo和一个码头工人图像:
2022世界杯阿根廷预选赛赛程资源:-名称:my_Git_Repository类型:GitRepo配置:gitProvider: my_GitHub_Integration路径:~johndoe/demo分支:include: master -名称:my_Docker_Image类型:Image配置:注册表:my_Docker_Registry_Integration imageName: johndoe/demo_image imageTag: latest
管道部分
的管道
节定义工作流,包括步骤和它们之间的依赖关系。
每个的基本格式管道
宣言是:
标签 | 描述 |
---|---|
名字 |
资源的友好名称,在项目中是独一无二的。 |
配置 |
一个可选的部分,用于指定环境变量和/或运行时 要在其中执行管道的图像。 |
后面是一个集合一步
节,指定要执行的步骤。
的名字
的管道将在环境变量中可用pipeline_name美元
,可用于构造构建的基本名称。
管道配置
可选配置
节可以为管道中的所有步骤指定执行环境。虽然这个配置可以在每个步骤中定义,但如果管道中的所有步骤都相同,那么在管道级别定义它有时会更方便。
每个的基本格式配置
部分是:
标签 | 描述 |
---|---|
environmentVariables |
这里定义的变量可以在管道中的每个步骤中使用。T这些变量是只读的;它们不能在一个步骤中重新定义。 如果设置了以下变量,将使用它们:
|
nodePool |
可选地指定执行步骤的特定节点池。如果未指定,则将使用设置为默认值的节点池。 有关更多信息,请参见选择节点池. |
affinityGroup |
可选地指定关联组名称,以指定此管道中的所有步骤都是一个关联组的一部分。这意味着所有步骤都将在同一构建节点上运行。 有关更多信息,请参见在同一构建节点上运行多个步骤. |
运行时 |
本节允许您为管道中的步骤指定默认运行时环境。选项有:
有关更多信息,请参见选择运行时映像. |
按时间顺序排列 |
任何当同一管道的另一个运行正在处理它时,管道的运行将不会开始运行 |
dependencyMode |
指定管道相对于由资源连接的其他管道的运行时间。2022世界杯阿根廷预选赛赛程如果这三个设置中的任何一个为真,如果已经有一个等待运行的具有相同资源和步骤的运行,则不会为其他管道更新的资源创建新的运行。2022世界杯阿根廷预选赛赛程因此,如果一个管道连续运行两次,并且下面的管道将waitOnParentComplete设置为true,那么下面的管道将只运行一次。当管道运行时,它们将使用最新的资源版本。 可选设置有:
|
retentionPolicy |
可选地指定是否应在特定天数后删除管道运行数据。此外,提供了保持最小数量的管道运行数据的能力:
有关更多信息,请参见设置保留策略. |
jfrogCliVersion |
可以选择指定1来使用JFrog CLI v1,或者指定2来在管道中的步骤中使用JFrog CLI v2。目前默认是v1。 |
|
指定集成,类似于 有关更多信息,请参见管道集成. 用于集成的管道级声明适用于所有步骤。您不能选择不使用这些集成的步骤。 |
input2022世界杯阿根廷预选赛赛程Resources |
指定资源,类似于2022世界杯阿根廷预选赛赛程 有关更多信息,请参见利用资源2022世界杯阿根廷预选赛赛程. 输入资源的管道级声明适用于所有步骤。2022世界杯阿根廷预选赛赛程您不能选择不使用这些输入资源的步骤。2022世界杯阿根廷预选赛赛程 |
output2022世界杯阿根廷预选赛赛程Resources |
指定资源,类似于ou2022世界杯阿根廷预选赛赛程t 有关更多信息,请参见利用资源2022世界杯阿根廷预选赛赛程. 输出资源的管道级声明适用于所有步骤。2022世界杯阿根廷预选赛赛程您不能选择不使用这些输出资源的步骤。2022世界杯阿根廷预选赛赛程 |
任何步骤都可以覆盖管道的默认值运行时
如果需要配置它自己的运行时选择。
管道的步骤
每个命名管道声明一个命名的集合一步
阻塞将执行的管道。
每个的基本格式一步
宣言是:
标签 | 描述 |
---|---|
名字 |
可在其他步骤中引用的步骤的友好名称。步骤名称在同一管道中必须是唯一的。 |
类型 |
指定步骤类型的预定义字符串。 有关更多信息,请参见管道的步骤. |
配置 |
开始步骤所需的设置部分
|
执行 |
指定要为步骤的每个执行阶段执行的操作。 |
例如,下面是一个简单的两步序列。每个都使用通用的Bash向控制台输出文本的步骤:
步骤:-名称:step_1类型:Bash配置:inputResources: -名称:my_Git_Rep2022世界杯阿根廷预选赛赛程ository #触发代码执行提交执行:onExecute: - echo "Hello World!"—名称:step_2类型:Bash配置:inputSteps:—名称:step_1 #在前一步执行后执行此步骤:onExecute:—echo "Goodbye World!"
管道配置文件策略
管道配置文件中可以定义一个或多个管道,但单个管道的定义不能分散在多个文件中。管道配置文件名可以是您选择的任何形式,尽管单个文件的约定是pipelines.yml
关于管道需要注意的一些事情:
- 你可以有很多管道配置文件随你的便。例如,我们的客户通过以下不同的方式管理配置:
- 维护一个中央DevOps存储库,并在该存储库中保存所有项目的所有管道配置文件。
- 保留构建每个微服务的管道配置文件,其中包含微服务的源代码。
- 将管道步骤和资源分离到单独的配置文件中(例如:2022世界杯阿根廷预选赛赛程
pipelines.steps.yml
和pipelines.2022世界杯阿根廷预选赛赛程resources.yml
分别)。