绑定管道任务意味着将在管道运行时为任务创建依赖关系。您可以通过多种方式为管道任务创建绑定。您可以将任务绑定到其他任务,绑定到变量和表达式,或绑定到条件。
如何在云模板任务中将美元绑定应用于云模板变量
可以在 Code Stream 管道云模板任务中将美元绑定应用于云模板变量。在 Code Stream 中修改变量的方式取决于变量属性在云模板中的编码。
如果必须在云模板任务中使用美元绑定,但在云模板任务中使用的当前云模板版本不允许使用美元绑定,请在 Cloud Assembly 中修改云模板并部署新版本。然后,在云模板任务中使用新的云模板版本,并根据需要添加美元绑定。
要对 Cloud Assembly 云模板提供的属性类型应用美元绑定,您必须具有正确的权限。
- 您必须与在 Cloud Assembly 中创建云模板部署的人员具有相同的角色。
- 对管道进行建模的人员和运行管道的人员可能是两个不同的用户,并且可能具有不同的角色。
- 如果开发人员具有 Code Stream 执行者角色并对管道进行建模,则该开发人员还必须具有部署云模板的人员的相同 Cloud Assembly 角色。例如,所需角色可能是 Cloud Assembly 管理员。
- 只有对管道进行建模的人员才可以创建管道并创建部署,因为他们具有权限。
要在云模板任务中使用 API 令牌,请执行以下操作:
- 对管道进行建模的人员可以为具有 Code Stream 执行者角色的其他用户提供 API 令牌。之后,当执行者运行管道时,将使用 API 令牌和 API 令牌创建的凭据。
- 当用户在云模板任务中输入 API 令牌时,会创建管道所需的凭据。
- 要对 API 令牌值进行加密,请单击创建变量。
- 如果没有为 API 令牌创建变量,并在云模板任务中使用该令牌,则 API 令牌值将以纯文本形式显示。
要在云模板任务中将美元绑定应用于云模板变量,请执行以下步骤。
首先,在云模板中定义输入变量属性,例如 integerVar
、stringVar
、flavorVar
、BooleanVar
、objectVar
和 arrayVar
。可以在 resources
部分中找到定义的映像属性。云模板代码中的属性可能如下所示:
formatVersion: 1 inputs: integerVar: type: integer encrypted: false default: 1 stringVar: type: string encrypted: false default: bkix flavorVar: type: string encrypted: false default: medium BooleanVar: type: boolean encrypted: false default: true objectVar: type: object encrypted: false default: bkix2: bkix2 arrayVar: type: array encrypted: false default: - '1' - '2' resources: Cloud_Machine_1: type: Cloud.Machine properties: image: ubuntu flavor: micro count: '${input.integerVar}'
可以对 image
和 flavor
使用美元符号变量 ($)。例如:
resources: Cloud_Machine_1: type: Cloud.Machine properties: input: '${input.image}' flavor: '${input.flavor}'
要在 Code Stream 管道中使用云模板并将美元绑定添加到其中,请执行以下步骤。
- 在 Code Stream 中,单击 。
- 在管道中添加云模板任务。
- 在云模板任务中,对于云模板源,选择 Cloud Assembly 云模板,输入云模板名称,然后选择云模板版本。
- 请注意,可以输入为管道提供凭据的 API 令牌。要在云模板任务中创建加密 API 令牌的变量,请单击创建变量。
- 在显示的参数和值表中,请注意参数值。flavor 的默认值为 small,image 的默认值为 ubuntu。
- 假设您必须在 Cloud Assembly 中更改云模板。例如:
- 将 flavor 设置为使用 array 类型的属性。当类型为 array 时,Cloud Assembly 允许对 Flavor 使用逗号分隔值。
- 单击部署。
- 在“部署类型”页面上,输入部署名称,然后选择云模板的版本。
- 在“部署输入”页面上,可以为 Flavor 定义一个或多个值。
- 请注意,“部署输入”包括在云模板代码中定义的所有变量,并在云模板代码中显示为已定义。例如:
Integer Var
、String Var
、Flavor Var
、Boolean Var
、Object Var
和Array Var
。String Var
和Flavor Var
是字符串值,Boolean Var
是一个复选框。 - 单击部署。
- 在 Code Stream 中,选择新版本的云模板,然后在参数和值表中输入值。云模板支持以下类型的参数,这些参数支持使用美元符号变量实现 Code Stream 绑定。 Code Stream 云模板任务的用户界面与 Cloud Assembly 云模板的用户界面之间存在细微差异。根据 Cloud Assembly 中云模板的编码,可能不允许在 Code Stream 的云模板任务中输入值。
- 对于 flavorVar,如果云模板将类型定义为字符串或数组,请输入字符串或逗号分隔值数组。例如,数组类似于 test, test。
- 对于 BooleanVar,在下拉菜单中选择 true 或 false。或者,要使用变量绑定,请输入 $,然后从列表中选择变量绑定。
- 对于 objectVar,按照以下格式输入用大括号和引号括起来的值:{"bkix":"bkix":}。
- objectVar 将传递到云模板,并且可以通过不同的方式使用,具体取决于云模板。允许 JSON 对象使用字符串格式,您可以在键-值表中以逗号分隔值的形式添加键-值对。可以为 JSON 对象输入纯文本,也可以输入键-值对作为 JSON 的常规 stringified 格式。
- 对于 arrayVar,按照以下格式将逗号分隔输入值作为数组输入:["1","2"]。
- 在管道中,可以将输入参数绑定到数组。
- 单击输入选项卡。
- 输入输入的名称。例如,arrayInput。
- 在参数和值表中,单击 arrayVar,然后输入 ${input.arrayInput}。
- 保存并启用管道后,当管道运行时,必须提供一个数组输入值。例如,输入 ["1","2"],然后单击运行。
现在,您已了解如何在 Code Stream 管道云模板任务的云模板中使用美元符号 ($) 变量绑定。
如何在管道运行时将参数传递到管道
您可以将输入参数添加到管道,使 Code Stream 将其传递到管道。当管道运行时,用户必须键入输入参数的值。将输出参数添加到管道中,管道任务可以使用任务中的输出值。 Code Stream 支持通过多种方式使用参数,以满足您的管道需求。
例如,要在管道运行 REST 任务时提示用户输入其 Git 服务器的 URL,您可以将 REST 任务绑定到 Git 服务器 URL。
要创建变量绑定,请将 URL 绑定变量添加到 REST 任务。当管道运行并到达 REST 任务时,用户必须输入 Git 服务器的 URL。下面介绍了如何创建绑定:
- 在管道中,单击输入选项卡。
- 要设置参数,请对自动插入参数单击 Git。
此时将显示 Git 参数列表,其中包括 GIT_SERVER_URL。如果必须使用 Git 服务器 URL 的默认值,请编辑此参数。
- 单击型号,然后单击 REST 任务。
- 在任务选项卡的 URL 区域中输入 $,然后选择输入和 GIT_SERVER_URL。
条目类似于:${input.GIT_SERVER_URL}
- 要验证任务的变量绑定完整性,请单击验证任务。
Code Stream 指示任务验证成功。
- 当管道运行 REST 任务时,用户必须输入 Git 服务器的 URL。否则,任务将无法结束运行。
如何通过创建输入参数和输出参数来绑定两个管道任务
将两个任务绑定在一起时,必须将绑定变量添加到接收任务的输入配置中。然后,当管道运行时,用户将绑定变量替换为所需的输入。
要将管道任务绑定在一起,请在输入参数和输出参数中使用美元符号变量 ($)。以下示例展示了如何执行此操作。
假设您需要管道在 REST 任务中调用 URL 并输出响应。要调用 URL 并输出响应,需要在 REST 任务中同时包括输入参数和输出参数。此外,还需要可以批准该任务的用户,并包括用户操作任务,以便其他用户可以在管道运行时进行批准。此示例显示了如何在输入和输出参数中使用表达式,并使管道等待任务的批准。
- 在管道中,单击输入选项卡。
- 将自动插入参数保留为无。
- 单击添加,然后输入参数名称、值和说明,然后单击确定。例如:
- 输入 URL 名称。
- 输入值:
{Stage0.Task3.input.http://www.docs.vmware.com}
。 - 输入说明。
- 单击输出选项卡和添加,然后输入输出参数的名称和映射。
- 输入唯一的输出参数名称。
- 单击引用区域,然后输入
$
。 - 在选项弹出时选择相应的选项,以输入任务输出映射。依次选择 Stage0、Task3 和输出,再选择 responseCode。然后单击确定。
- 保存管道。
- 从操作菜单中,单击运行。
- 单击 。
- 单击管道执行,然后查看您定义的输入参数和输出参数。
- 要批准管道,请单击用户操作,然后在活动项选项卡上查看批准列表。或者,留在“执行”中,单击任务,然后单击批准。
- 要启用批准和拒绝按钮,请单击执行旁边的复选框。
- 要查看详细信息,请展开下拉箭头。
- 要批准任务,请单击批准,输入原因,然后单击确定。
- 单击执行并观察管道是否继续运行。
- 如果管道失败,请更正所有错误,然后保存管道并再次运行。
如何了解有关变量和表达式的更多信息
要查看有关在绑定管道任务时使用变量和表达式的详细信息,请参见在 Code Stream 中绑定管道任务时可以使用哪些变量和表达式。
要了解如何将管道任务输出与条件变量绑定结合使用,请参见如何在条件任务中使用变量绑定来运行或停止 Code Stream 中的管道。