6.10. 启动作业模板
自动化控制器的一个优点是 Ansible playbook 的按钮式部署。您可以配置模板,以存储您通常在命令行上传递给 Ansible Playbook 的所有参数。除了 playbook 外,模板还会传递清单、凭证、额外变量以及您可以在命令行上指定的所有选项和设置。
更简单的部署会在每次运行时以相同的方式运行 playbook 来提高一致性,并允许您委派职责。
流程
使用以下方法之一启动作业模板:
-
在导航面板中,选择
并点作业模板卡上的 Launch template 。
- 在您要启动的 作业模板的 作业模板详情选项卡中,单击 。
-
在导航面板中,选择
作业可能需要额外信息才能运行。启动时可以请求以下数据:
- 设置的凭证
- 为任意参数选择了 Prompt on Launch 选项
- 已设置为 Ask的密码或密码短语
- 问卷调查(如果已经为作业模板配置了问卷调查)
- 额外变量(如果作业模板要求提供)
如果作业有用户提供的值,则重启时会考虑这些值。如果用户没有指定值,则作业将使用作业模板中的默认值。作业不会按原样重新启动。它们通过用户提示重新应用到作业模板。
如果您为一个标签页提供了值,返回上一个标签页,请继续下一个标签页会导致在剩余标签页中重新提供值。确保您按照提示出现的顺序完成标签页。
启动后,自动化控制器会在 Jobs 选项卡下自动将 Web 浏览器重定向到此作业的 Job Status 页面。
您可以从列表视图中重新启动最新的作业,以便针对指定清单中的所有主机或仅仅是失败的主机重新运行。如需更多信息,请参阅 自动化控制器中的作业 部分。
当分片作业运行时,作业列表会显示工作流和作业分片,以及用于单独查看其详情的链接。
您可以使用 API 中新添加的端点 /api/v2/bulk/job_launch
来批量启动作业。此端点接受 JSON,您可以指定用于启动的统一作业模板(如作业模板和项目更新)的列表。用户必须具有启动所有作业的适当权限。如果没有启动所有作业,则返回错误,指示操作无法完成的原因。使用 OPTIONS
请求返回相关模式。如需更多信息,请参阅 Automation execution API overviewof the Reference 部分中的 /api_ref.html#/Bulk[Bulk endpoint] 部分。
6.10.1. 作业模板中的变量 复制链接链接已复制到粘贴板!
除了作业模板和问卷调查中设置的额外变量外,自动化控制器还会自动将以下变量添加到作业环境中。
-
awx
swig 变量由系统定义,无法覆盖。 -
如果在
extra_vars
中设置,有关作业上下文的变量,如awx_job_template_name
不受影响。
-
awx_job_id
:此作业运行的作业 ID。 awx_job_launch_type
:指示作业启动方式的描述:- 手动 :作业是由用户手动启动的。
- 重新启动 :作业是通过重新启动来启动的。
- 回调 :作业是通过主机回调启动的。
- Scheduled: 作业是从一个调度启动的。
- 依赖项 :作业是作为另一个作业的依赖项启动的。
- 工作流 :作业是从工作流作业中启动的。
- 同步 :作业是从项目同步启动的。
- SCM :作业是作为清单 SCM 同步创建的。
-
awx_job_template_id
:此作业运行使用的作业模板 ID。 -
awx_job_template_name
:此作业使用的作业模板名称。 -
awx_execution_node
:启动了此作业的执行节点名称。 -
awx_project_revision
:此特定作业使用的源树的修订标识符(它也与作业的字段 scm_revision 相同)。 -
awx_project_scm_branch
:作业模板使用的项目配置的默认项目 SCM 分支。 -
awx_job_scm_branch
:如果作业覆盖了 SCM 分支,则该值将显示在这里。 -
awx_user_email
:启动了此作业的控制器用户的用户电子邮件。这不适用于回调或调度的作业。 -
awx_user_first_name
:启动此作业的自动化控制器用户的名字。这不适用于回调或调度的作业。 -
awx_user_id
:启动了此作业的自动化控制器用户的用户 ID。这不适用于回调或调度的作业。 -
awx_user_last_name
:启动此作业的自动化控制器用户的姓氏。这不适用于回调或调度的作业。 -
awx_user_name
:启动了此作业的自动化控制器用户的用户名。这不适用于回调或调度的作业。 -
awx_schedule_id
:如果适用,启动了此作业的调度的 ID。 -
awx_schedule_name
:如果适用,启动了此作业的调度的名称。 -
awx_workflow_job_id
:如果适用,启动了此作业的工作流作业的 ID。 -
awx_workflow_job_name
:如果适用,启动了此作业的工作流作业的名称。请注意,这也与工作流作业模板相同。 -
awx_inventory_id
:如果适用,此作业使用的清单的 ID。 -
awx_inventory_name
:如果适用,此作业使用的清单的名称。
为实现兼容性,还为所有变量添加了"awx"前缀,例如 awx_job_id
。