affinityGroup标签的用法
步骤通过其绑定到亲和性组配置
部分,使用affinityGroup
标签。
为单个步骤指定亲和性组:
步骤:—name:type: configuration: affinityGroup: . type:
可以指定任何字符串作为亲和性组的名称,但必须对所有字符串使用相同的字符串affinityGroup
标记在希望在组中绑定在一起的步骤中的。
或者,如果管道中的所有步骤都在同一个亲和组中,affinityGroup
可以在管线配置部分指定:
管线:—name:configuration: affinityGroup: steps:— . cfg
例子
下面的简化管道创建了绑定到同一个管道的两个步骤affinityGroup
被称为在一起
:
pipelines.yml
管道:—name: pipeline_affinityGroup_example步骤:—name: ag_step_1 type: Bash配置:affinityGroup: together执行:onExecute:—echo "Running " $pipeline_name "|" $step_name > $shared_workspace/myoutput.txt - cat $shared_workspace/myoutput.txt - name: ag_step_2 type: Bash配置:affinityGroup: together inputSteps:—name: ag_step_1执行:onExecute: - cat $shared_workspace/myoutput.txt
该步骤ag_step_1
在它执行的构建节点中创建一个文本文件,使用shared_workspace变量确保该文件对两个步骤都可用。接下来的步骤,ag_step_2
尝试读取文件。
通过绑定ag_step_1
而且ag_step_2
进入相同的亲和性组,文件即ag_step_1
在构建节点的文件系统中创建的ag_step_2
因为它被保证运行在同一个节点中。不受亲善团体的约束,ag_step_2
可能会失败,因为它可能在文件不存在的节点中执行。
在JFrog平台中加载此管道时,交互图显示在管道的历史指示这些步骤绑定到相同的亲和关系组:
当管道运行时,管路运行日志表明,ag_step_2
能够成功地在节点的文件系统中找到由谁创建的文件ag_step_1
.