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 任务中:

  1. PIPELINES 标记应用到 Orchestrator 工作流。
  2. Orchestrator 工作流标记为全局工作流。

作为内部部署端点,VMware Aria Automation Orchestrator 必须通过云代理与 Automation Pipelines 通信。

前提条件

过程

  1. 以管理员的身份准备 VMware Aria Automation Orchestrator 工作流以让管道运行。
    1. VMware Aria Automation Orchestrator 中,查找要在管道中使用的工作流,例如用于启用用户的工作流。
      如果所需的工作流不存在,您可以创建该工作流。
    2. 在搜索栏中,输入标记工作流以查找标记工作流
    3. 标记工作流卡视图上,单击运行,随后将显示配置区域。
    4. 标记的工作流文本区域中,输入在 Automation Pipelines 管道中使用的工作流的名称,然后从列表中选择该工作流。
    5. 标记文本区域中,以大写字母形式输入 PIPELINES
    6. 单击全局标记复选框。
    7. 单击运行,将 PIPELINES 标记附加到您要在 Automation Pipelines 管道中选择的工作流。
    8. 在导航窗格中,单击工作流,并确认 PIPELINES 标记显示在管道将运行的工作流卡视图上。
      登录到 Automation Pipelines 并向管道添加 Orchestrator 任务后,标记的工作流会显示在工作流列表中。
  2. Automation Pipelines 中,为 VMware Aria Automation Orchestrator 实例创建端点。
    1. 单击端点 > 新建端点
    2. 选择一个项目。
    3. 输入相关的名称。
    4. 输入 VMware Aria Automation Orchestrator 端点的 URL。
      请使用以下格式: https://orchestrator-appliance.yourdomain.local:8281
      请勿使用以下格式:https://orchestrator-appliance.yourdomain.local:8281/vco/api
      VMware 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>
      ```
    5. 选择一个云代理。
    6. 如果您输入的 URL 需要证书,单击接受证书
    7. 如果 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 令牌,请执行以下操作:
        1. 登录到 VMware Aria Automation
        2. 登录到
        3. 单击您的用户名旁边的下拉箭头。
        4. 单击我的帐户
        5. 单击 API 令牌
        6. 单击生成新的 API 令牌
          1. 输入令牌名称。
          2. 在“组织角色”下,单击以展开所有组织角色,然后选择组织所有者
          3. 在“服务角色”下,单击以展开 VMware Aria Automation > Pipelines,然后选择 Pipelines 管理员
          4. 单击生成

            生成的令牌窗口将显示一个令牌,其中包含您指定的名称和组织的名称。

        7. 单击复制图标。

          单击复制可确保您捕获准确的字符串,比使用指针来复制字符串更可靠。

  3. 准备管道以运行 Orchestrator 任务。
    1. 向管道阶段添加 Orchestrator 任务。
    2. 输入相关的名称。
    3. 在“工作流属性”区域,选择 VMware Aria Automation Orchestrator 端点。
    4. 选择您在 VMware Aria Automation Orchestrator 中标记为 PIPELINES 的工作流。
      如果选择您创建的自定义工作流,可能需要键入输入参数值。
    5. 对于执行任务,单击基于条件
      如果必须对 VMware Aria Automation Orchestrator 任务应用条件,请在条件区域中输入条件。
    6. 输入要在管道运行时应用的条件。
      何时运行管道... 选择条件...
      基于条件

      仅在已定义的条件的评估结果为 true 时运行管道任务。如果该条件为 false,则跳过任务。

      Orchestrator 任务允许包含布尔表达式,该表达式使用以下操作数和运算符。

      • 管道变量,例如 ${pipeline.variableName}。输入变量时,仅可使用大括号。
      • 任务输出变量,例如 ${Stage1.task1.machines[0].value.hostIp[0]}
      • 默认管道绑定变量,例如 ${releasePipelineName}
      • 不区分大小写的布尔值,例如 truefalse'true''false'
      • 不带引号的整数值或小数值。
      • 带有单引号或双引号的字符串值,例如 "test"'test'
      • 字符串和数值类型的值,例如 == Equals!= Not Equals
      • 关系运算符,例如 >>=<<=
      • 布尔逻辑,例如 &&||
      • 算术运算符,例如 +-*/
      • 带有圆括号的嵌套表达式。
      • 包含字面值 ABCD 的字符串的评估结果为 false,因此将跳过任务。
      • 不支持一元运算符。

      示例条件可以是 ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39

      始终 如果选择始终,管道将运行任务而不应用条件。
    7. 输入问候消息。
    8. 单击验证任务,并更正出现的任何错误。
  4. 保存、启用并运行管道。
  5. 管道运行之后,检查结果。
    1. 单击执行
    2. 单击该管道。
    3. 单击相关任务。
    4. 检查结果、输入值和属性。
      您可以确定工作流执行 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 工作流任务包含到管道中,以便在开发环境、测试环境和生产环境中自动执行任务。