设计器
在浏览器中编辑表单、playbook、清单和工作流
面向表单作者:设计器的各个部分,以及每个部分的选项卡显示什么。
设计器需要 showDesigner 角色选项。它一次编辑一项内容,即一个 表单、一个 playbook 或一个工作流文件,各个部分位于左侧菜单中。每种文件还需要各自的选项,这些选项 默认都是开启的: Playbook 需要 allowPlaybookDesign , 工作流需要 allowWorkflowDesign , 清单需要 allowInventoryDesign , 变量文件需要 allowVarsFileDesign 。缺少某个选项时,对应部分 是只读的,服务器会拒绝保存、创建、移除或推送其文件;表单和工作流仍然可以选择这些文件。 表单、类别和常量同样需要 allowFormDesign :没有它时它们是只读的,服务器 会拒绝保存、拉取或推送它们。同一时间只能有一个人编辑:参见设计器锁。 角色还可以隐藏其他团队的表单、playbook 和工作流:参见受限的设计者。
各个部分
每个部分编辑一种文件,这些文件保存在本地或仓库中:
| 部分 | 编辑的内容 |
|---|---|
| 表单 | 表单文件 |
| 类别 | config.yaml 中的类别 |
| 常量 | config.yaml 中的常量 |
| 变量文件 | 表单加载的变量文件 |
| Playbook | 表单和工作流运行的 playbook |
| 清单 | 清单: inventory.yaml 、 group_vars 和 host_vars |
| 工作流 | 工作流文件 |
包含文件的部分会在文件浏览器中列出它们,并打开第一个文件;还没有文件的部分会给出提示。 表单部分和每个文件部分的工具栏中,第一个按钮都是新建文件:在清单中它新建一个 清单,在工作流中则新建一个空工作流。文件浏览器的放大镜会打开一个输入框,按名称筛选其中的文件。
标题行上的搜索框会在当前打开的 YAML 中查找文本:标记出它出现的每个位置。它在 YAML 选项卡上可用,前提是您持有设计器锁。
各个选项卡
每个部分都有同样的三个选项卡,它们都基于同一份 YAML:在其中一个选项卡中的编辑会显示在其他选项卡中,保存会将其保存。
- YAML 是文件的原始内容。
- 可视化通过字段编辑它。只有编辑涉及的键会改变,因此注释和其余内容都保持原样。
- 预览显示它的效果,不编辑任何内容。
各部分的可视化和预览选项卡显示的内容:
| 部分 | 可视化 | 预览 |
|---|---|---|
| 表单 | 表单的设置及其字段,带有设计器中 playbook、清单和工作流的列表 | 表单的当前样子,包括未保存的编辑;提交时不运行任何内容 |
| 类别 | 以表格形式编辑类别 | 由类别生成的表单页面菜单 |
| 常量 | 以大纲形式编辑常量(用方向键移动键) | 每个常量及其可复制的引用 $(NAME) ,以及使用它的表单 |
| 变量文件 | 编辑变量 | 每个变量及其在 playbook 中可复制的引用 {{ name }} ,以及加载该文件的表单 |
| Playbook | 各个 play:每个 play 的名称、主机、Become、收集 facts 和角色,以及其任务,每个任务带有模块和参数 | playbook 的大纲:其 play 及其主机、角色和任务,以及它导入的 playbook |
| 清单 | 组、其子组、其主机,以及各自设置的变量 | 以树形显示的清单,以及其 group_vars 和 host_vars |
| 工作流 | 工作流的图,用于编辑它 | 试运行:点击节点让它失败 |
当 YAML 无法读取时,可视化和预览选项卡会说明原因,并提供在 YAML 中显示,在 YAML 中打开对应的行。
受限的设计者
从 7.5.0 起,三个角色选项限制设计器显示哪些表单、playbook 和工作流,让每个团队只设计自己的。 三者默认都开启,对管理员始终开启:
| 选项 | 关闭时,设计器只显示 |
|---|---|
designAllForms ( 编辑所有表单 ) | roles 中含有用户某个角色的表单,以及没有被任何隐藏表单使用的子表单 |
designAllPlaybooks ( 编辑所有 playbook ) | 用户的表单运行的 playbook,以及尚无表单使用的 playbook |
designAllWorkflows ( 编辑所有工作流 ) | 用户的表单运行的工作流文件(包括嵌套的),以及尚无表单使用的工作流文件 |
表单通过其 playbook、其 ansible 步骤以及它运行的工作流来运行 playbook。受限的设计者不能:
- 看到隐藏的文件。 它从不被列出或提及:打开它时的响应如同文件不存在,用它的名称新建文件时的响应如同文件已存在。
- 指向隐藏的文件。 把隐藏表单作为子表单的表单不会显示它的任何内容;指定隐藏 playbook 或工作流的表单或工作流文件会被拒绝。
- 修改共享的子表单。 同时被隐藏表单使用的子表单是只读的,保存的表单必须保留用户的某个角色。
- 改动文件中的隐藏表单。 含有多个表单的文件在保存时保持隐藏表单不变,恢复表单备份会被拒绝。
- 添加由服务器运行的代码。 保存的表单不能新增由服务器运行的表达式或查询,尚未保存的表单的预览不运行它自己的表达式。
- 在 git 输出中读到文件名。 pull 或 push 的输出会省略提及文件的行。
allowFormDesign、allowPlaybookDesign 和 allowWorkflowDesign 仍然决定显示的文件能否修改。 清单、变量文件、类别和常量对所有设计者都保持可见。只拥有部分设置的用户,在设置页面的 表单 选项卡和凭据的 使用者 选项卡中 只能看到自己的表单和工作流文件。