Automation Pipelines 可以与 VMware Aria Automation Orchestrator (Orchestrator) 集成,以便通过运行 Orchestrator 工作流来扩展其功能。VMware Aria Automation Orchestrator 包括许多可与第三方工具集成的预定义工作流。这些工作流有助于自动执行和管理 DevOps 流程以及自动执行批量操作等。
例如,您可以在管道的 Orchestrator 任务中使用工作流,以启用用户、移除用户、移动虚拟机以及与测试框架集成以在管道运行过程中测试代码等。可以在 code.vmware.com 中浏览 VMware Aria Automation Orchestrator 工作流的代码示例。
使用 VMware Aria Automation Orchestrator 工作流,管道可以在生成、测试和部署应用程序的过程中运行操作。您可以将预定义的工作流包含到管道中,也可以创建并使用自定义工作流。每个工作流都包含输入、任务和输出。
要在管道中运行 Orchestrator 工作流,该工作流必须显示在包含到管道的 Orchestrator 任务的可用工作流列表中。
管理员首先必须在 VMware Aria Automation Orchestrator 中执行以下步骤,然后工作流才可以显示在管道的 Orchestrator 任务中:
- 将 PIPELINES 标记应用到 Orchestrator 工作流。
- 将 Orchestrator 工作流标记为全局工作流。
作为内部部署端点,VMware Aria Automation Orchestrator 必须通过云代理与 Automation Pipelines 通信。
前提条件
- 确认您能够以管理员身份访问 VMware Aria Automation Orchestrator 的内部部署实例。要获取帮助,请向管理员咨询并参见 vRealize Orchestrator 文档。
- 验证您是 Automation Pipelines 中项目的成员。如果您不是其成员,则让 Automation Pipelines 管理员将您添加为项目的成员。请参见如何在 Automation Pipelines 中添加项目。
- 在 VMware Aria Automation Assembler 中,创建云代理以在 Automation Pipelines 和 VMware Aria Automation Orchestrator 的内部部署实例之间建立通信。有关如何创建云代理的示例,请参见设置 Automation Pipelines 以对发布流程进行建模。
- 了解对内部部署端点使用云代理的重要性。请参见什么是 Automation Pipelines 中的端点。
- 在 Automation Pipelines 中,创建一个管道并添加一个阶段。
过程
- 以管理员的身份准备 VMware Aria Automation Orchestrator 工作流以让管道运行。
- 在 VMware Aria Automation Orchestrator 中,查找要在管道中使用的工作流,例如用于启用用户的工作流。
如果所需的工作流不存在,您可以创建该工作流。
- 在搜索栏中,输入标记工作流以查找标记工作流。
- 在标记工作流卡视图上,单击运行,随后将显示配置区域。
- 在标记的工作流文本区域中,输入在 Automation Pipelines 管道中使用的工作流的名称,然后从列表中选择该工作流。
- 在标记和值文本区域中,以大写字母形式输入 PIPELINES。
- 单击全局标记复选框。
- 单击运行,将 PIPELINES 标记附加到您要在 Automation Pipelines 管道中选择的工作流。
- 在导航窗格中,单击工作流,并确认 PIPELINES 标记显示在管道将运行的工作流卡视图上。
登录到 Automation Pipelines 并向管道添加 Orchestrator 任务后,标记的工作流会显示在工作流列表中。
- 在 VMware Aria Automation Orchestrator 中,查找要在管道中使用的工作流,例如用于启用用户的工作流。
- 在 Automation Pipelines 中,为 VMware Aria Automation Orchestrator 实例创建端点。
- 单击 。
- 选择一个项目。
- 输入相关的名称。
- 输入 VMware Aria Automation Orchestrator 端点的 URL。
请使用以下格式: https://orchestrator-appliance.yourdomain.local:8281请勿使用以下格式:https://orchestrator-appliance.yourdomain.local:8281/vco/apiVMware Aria Automation 设备中嵌入的 VMware Aria Automation Orchestrator 实例的 URL 是设备的 FQDN,不含端口。例如: https://automation-appliance.yourdomain.local/vco从 VMware Aria Automation 8.x 开始,对于外部 VMware Aria Automation Orchestrator Appliance,设备的 FQDN 为 https://orchestrator-appliance.yourdomain.local对于 VMware Aria Automation 7.x 中包含的外部 VMware Aria Automation Orchestrator Appliance,设备的 FQDN 为 https://orchestrator-appliance.yourdomain.local:8281/vco如果在添加端点时出现问题,可能需要导入具有 SHA-256 证书指纹但移除了冒号的 YAML 配置。例如, B0:01:A2:72... 变为 B001A272...。示例 YAML 代码类似于:
``` --- project: Demo kind: ENDPOINT name: external-orchestrator description: '' type: orchestrator properties: url: https://yourVROhost.yourdomain.local username: yourusername password: yourpassword fingerprint: <your_fingerprint> ```
- 选择一个云代理。
- 如果您输入的 URL 需要证书,单击接受证书。
- 如果 VMware Aria Automation Orchestrator 端点的版本为 8.0 到 8.7,可以选择基本身份验证或令牌作为“身份验证类型”。如果 VMware Aria Automation Orchestrator 端点的版本为 8.8 或更高版本,则必须选择令牌作为“身份验证类型”。
注: 如果 VMware Aria Automation Orchestrator 端点的版本为 8.8 或更高版本,请不要选择 基本身份验证。不支持“基本身份验证”,并且端点创建将失败。
- 如果选择基本身份验证,请输入 VMware Aria Automation Orchestrator 服务器的用户名和密码。
如果使用非本地用户进行身份验证,则必须省略用户名的域部分。例如,要使用 [email protected] 进行身份验证,必须在用户名文本区域中输入 svc_vro。
- 如果选择令牌作为身份验证类型,请生成并粘贴专用令牌。
VMware Cloud Services API 令牌将对您进行身份验证,以与 Automation Pipelines 建立外部 API 连接。要获取 API 令牌,请执行以下操作:
- 登录到 VMware Aria Automation。
- 登录到
- 单击您的用户名旁边的下拉箭头。
- 单击我的帐户。
- 单击 API 令牌。
- 单击生成新的 API 令牌。
- 输入令牌名称。
- 在“组织角色”下,单击以展开所有组织角色,然后选择组织所有者。
- 在“服务角色”下,单击以展开 Pipelines 管理员。 ,然后选择
- 单击生成。
生成的令牌窗口将显示一个令牌,其中包含您指定的名称和组织的名称。
- 单击复制图标。
单击复制可确保您捕获准确的字符串,比使用指针来复制字符串更可靠。
- 如果选择基本身份验证,请输入 VMware Aria Automation Orchestrator 服务器的用户名和密码。
- 准备管道以运行 Orchestrator 任务。
- 向管道阶段添加 Orchestrator 任务。
- 输入相关的名称。
- 在“工作流属性”区域,选择 VMware Aria Automation Orchestrator 端点。
- 选择您在 VMware Aria Automation Orchestrator 中标记为 PIPELINES 的工作流。
如果选择您创建的自定义工作流,可能需要键入输入参数值。
- 对于执行任务,单击基于条件。
- 输入要在管道运行时应用的条件。
何时运行管道... 选择条件... 基于条件 仅在已定义的条件的评估结果为 true 时运行管道任务。如果该条件为 false,则跳过任务。
Orchestrator 任务允许包含布尔表达式,该表达式使用以下操作数和运算符。
- 管道变量,例如 ${pipeline.variableName}。输入变量时,仅可使用大括号。
- 任务输出变量,例如 ${Stage1.task1.machines[0].value.hostIp[0]}。
- 默认管道绑定变量,例如 ${releasePipelineName}。
- 不区分大小写的布尔值,例如 true、false、'true' 和 'false'。
- 不带引号的整数值或小数值。
- 带有单引号或双引号的字符串值,例如 "test" 和 'test'。
- 字符串和数值类型的值,例如 == Equals 和 != Not Equals。
- 关系运算符,例如 >、>=、< 和 <=。
- 布尔逻辑,例如 && 和 ||。
- 算术运算符,例如 +、-、* 和 /。
- 带有圆括号的嵌套表达式。
- 包含字面值 ABCD 的字符串的评估结果为 false,因此将跳过任务。
- 不支持一元运算符。
示例条件可以是 ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39
始终 如果选择始终,管道将运行任务而不应用条件。 - 输入问候消息。
- 单击验证任务,并更正出现的任何错误。
- 保存、启用并运行管道。
- 管道运行之后,检查结果。
- 单击执行。
- 单击该管道。
- 单击相关任务。
- 检查结果、输入值和属性。
您可以确定工作流执行 ID、对任务做出响应的人员、该人员做出响应的时间以及该人员添加的任何注释。
结果
恭喜!您已标记了要在 Automation Pipelines 中使用的 VMware Aria Automation Orchestrator 工作流,并在 Automation Pipelines 管道中添加了 Orchestrator 任务,以使其运行在 DevOps 环境中自动执行某个操作的工作流。
示例: Orchestrator 任务输出格式
Orchestrator 任务的输出格式类似于以下示例。
[{ "name": "result", "type": "STRING", "description": "Result of workflow run.", "value": "" }, { "name": "message", "type": "STRING", "description": "Message", "value": "" }]
下一步做什么
继续将其他 Orchestrator 工作流任务包含到管道中,以便在开发环境、测试环境和生产环境中自动执行任务。