23.7. 工作流可视化工具


工作流可视化工具提供了一种图形方式,用于将作业模板、工作流模板、项目同步和清单同步链接到构建工作流模板。在构建工作流模板前,请参阅 工作流 部分,以了解与父、子和同级节点上各种场景相关的注意事项。

23.7.1. 构建工作流

您可以设置以下两个或更多节点类型的组合来构建工作流:

  • 模板(作业模板或工作流作业模板)
  • 项目同步
  • 清单同步
  • 批准

每个节点都由一个 rectangle 表示,而关系及其关联的边缘类型由连接它们的行(或链接)表示。

流程

  1. 要启动工作流可视化工具,请使用以下方法之一:

    1. 在导航面板中,选择 Resources Templates

      1. Details 选项卡中,选择工作流模板,点 Edit
      2. 选择 Visualizer 选项卡。
    2. Templates 列表中点 Visualizer 图标。

      启动可视化工具
  2. 单击 Start 以显示要添加到工作流的节点列表。

    添加节点工作流作业模板
  3. Node Type 列表中,选择要添加的节点类型:

    节点类型
    • 如果选择了 Approval node,请参阅 Approval nodes 以了解更多信息。

      选择节点会提供与其关联的可用的有效选项。

      注意

      如果您在填充工作流图形时选择了没有默认清单的作业模板,则会使用父工作流的清单。虽然作业模板中不需要凭证,但如果具有需要密码的凭证,则无法为工作流选择作业模板,除非凭证被提示的凭证替代。

  4. 当您选择节点类型时,工作流开始构建,且您必须指定要为所选节点执行的操作类型。此操作也称为边缘类型。
  5. 如果节点是根节点,则边缘类型默认为 Always,不可编辑。对于后续节点,您可以选择以下场景(类型)之一以应用到每个节点:

    • Always: 无论成功或失败都继续执行。
    • 成功后 :成功完成后,执行下一个模板。
    • On Failure: 在失败时执行不同的模板。
  6. 如果节点是 Convergence 字段中的聚合节点,请选择节点的行为:

    • 任何 是默认行为,允许任何节点按照指定完成,然后再触发下一个聚合节点。只要一个父状态满足其中一个运行条件,就会 运行任何 子节点。任何节点都 需要所有节点都完成,但只有一个节点必须以预期结果完成。
    • 选择 All 以确保所有节点都按指定完成,然后再聚合并触发下一个节点。所有* 节点的目的是确保每个父节点都满足其预期结果,以运行子节点。工作流检查以确保每个父项都如预期运行子节点。否则,它不会运行子节点。

      如果选择,在图形视图中将节点标记为 ALL

      Convergent node all

      注意

      如果节点是根节点,或者没有与其聚合的节点,设置 Convergence 规则不会应用,因为它的行为是由触发节点的操作决定的。

  7. 如果工作流中使用的作业模板为其任何参数选择了 Prompt on Launch,则会出现 PROMPT 选项,允许您在节点级别更改这些值。使用向导更改每个标签页中的值,然后点击 Preview 选项卡中的 Confirm

    提示选项

    如果工作流中使用的工作流模板为清单选项选择了 Prompt on Launch,请使用向导在提示符处提供清单。如果父工作流有自己的清单,它会覆盖此处提供的任何清单。

    提示按钮清单
    注意

    对于带有提示详情但没有默认值的工作流作业模板,您必须在启用 Select 选项前提供这些值。

    以下两个情况会禁用 SELECT 选项,直到 PROMPT 选项提供值前:

    1. 当您在工作流作业模板中选择 Prompt on Launch 复选框时,但不提供默认值。
    2. 当您创建需要但不提供默认答案的问卷调查问题时。

    但是,凭证并不如此。创建工作流节点时不允许在启动时需要密码的凭证,因为在创建节点时必须提供启动该节点所需的所有内容。如果您在工作流作业模板中提示输入凭证,则无法选择在自动化控制器中需要密码的凭证。

    当提示向导关闭时,您还必须单击 SELECT,以在该节点上应用更改。否则,您所做的任何更改都会恢复到作业模板中设置的值。

    创建节点时,会使用其作业类型进行标记。与每个工作流节点关联的模板,会根据所选运行场景运行。点 compass ( Compass )图标显示每个运行场景及其作业类型的图例。

    worfklow 下拉列表
  8. 将鼠标悬停在节点上以添加另一个节点,查看节点信息、编辑节点详情、编辑现有链接或删除所选节点:

    节点选项
  9. 添加或编辑节点后,单击 SELECT 以保存任何修改并将其呈现在图形视图中。有关构建工作流的可能方法,请参阅 构建节点场景
  10. 构建工作流作业模板后,点 Save 保存整个工作流模板并返回到新的工作流作业模板详情页面。
重要

Close 不会保存您的工作,而是关闭整个工作流可视化工具,因此您必须再次启动。

23.7.2. 批准节点

选择 批准节点 需要您的干预才能推进工作流。此功能为在 playbook 间暂停工作流,以便您可以授予继续工作流中的下一个 playbook 的批准。这可让用户指定的时间干预,但也允许您尽快继续,而无需等待其他触发器。

超时的默认值为 none,但您可以指定请求过期前的时间长度,并自动拒绝。选择并提供批准节点的信息后,它会显示在图形视图中,其中包含一个暂停图标。

批准节点

批准者是满足以下条件的任何人:

  • 可以执行包含批准节点的工作流作业模板的用户。
  • 具有机构管理员或以上特权的用户(用于与该工作流作业模板关联的机构)。
  • 在该特定工作流作业模板中明确为其分配了 Approve 权限的用户。
节点批准通知

如果待处理的批准节点没有在指定的时间限制内批准(如果分配了过期时间),或者被拒绝,则它们被标记为 "timed out" 或 "failed",并移到下一个 "on fail node" 或 "always node"。如果批准,则使用 "on success" 路径。如果您试图将 API 中的 POST 发布到已批准、被拒绝或超时的节点,则会显示错误消息通知您此操作冗余,且不会执行进一步的步骤。

下表显示了在批准工作流中允许的各种权限级别:

节点批准 rbac

23.7.3. 构建节点场景

了解如何在以下场景中管理节点。

流程

  • 点击父节点上的( Plus icon )图标添加同级节点:
创建同级节点
  • 将鼠标悬停在连接两个节点的行上,并点击加号( Plus icon )在节点间插入另一个节点。点击加号( Plus icon )图标在两个节点之间自动插入节点:
插入节点模板
  • 再次单击 START,以添加根节点来描述分割场景:
节点分割场景
  • 在您要创建分割场景的任何节点上,将鼠标悬停在分割场景开始的节点上,然后点击加号( Plus icon )图标。这会从同一父节点添加多个节点,创建同级节点:
节点创建同级节点
注意

在添加新节点时,PROMPT 选项也适用于工作流模板。工作流模板提示输入清单和问卷调查。

  • 您可以使用以下方法之一撤销最后一个插入的节点:

    • 在不做出选择的情况下点另一个节点。
    • 单击 取消

以下示例工作流包含作业模板启动的所有三种类型的作业。如果无法运行,您必须保护同步任务。无论它是否失败还是成功,都继续执行清单同步作业:

工作流模板示例

点击 compass ( Compass )图标来识别与图形描述相关的符号和颜色的含义,以引用该密钥。

注意

如果您在带有一组具有不同边缘类型的同级节点的工作流中删除附加有后续节点的节点,则附加节点会自动加入同级节点组并保留其边缘类型:

节点删除场景

23.7.4. 编辑节点

流程

  • 使用以下方法之一编辑节点:

    • 如果要编辑节点,点您要编辑的节点。窗格中显示当前的选择。进行更改并点击 Select 将它们应用到图形视图。
    • 要编辑现有链接的边缘类型(成功失败始终为),请单击 链接。窗格中显示当前选择。进行更改并点 Save 将它们应用到图形视图。
    • 点击每个节点中出现的链接( Link icon )图标,将一个新链接从一个节点添加到另一个节点。这样做会突出显示可以链接到的节点。这些选项通过点号行来指示。无效的选项由禁用框(节点)表示,否则会生成无效的链接。以下示例显示 e2e-ec20de52-project 链接的 Demo Project 作为可能的选项,由箭头表示:

      节点链接场景
    • 要删除链接,请单击链接并单击 UNLINK。只有在目标或子节点有多个父节点时,此选项才会出现在窗格中。所有节点都必须始终链接到另一个其他节点,因此您必须在删除旧链接前创建新链接。
  • 使用以下方法之一编辑工作流图的视图:

    • 点设置图标缩放、pan 或重新组成视图。
    • 拖动工作流图以在屏幕上进行重新定位,或使用鼠标上的滚动来缩放。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.