我有一套Ansible剧本,主要的yml文件是这样的
- hosts: all
roles:
- common
- install_nginx
Run Code Online (Sandbox Code Playgroud)
我想在触发剧本时添加确认消息.我试过这个并没有用
- hosts: all
vars_prompt:
- name: CONFIRM
prompt: Just to confirm you will install stuff
tasks:
- fail: no deployment this time
when: CONFIRM != 'yes'
roles:
- common
- install_nginx
Run Code Online (Sandbox Code Playgroud)
如何vars_prompt在没有修改的情况下使用role?
如果您查看使用 运行 playbook 的输出,vars_prompt您将看到该fail任务在其他角色之后运行。Ansible docs for playbooks and roles也提到了这一点:
如果该剧仍有“任务”部分,则在应用角色后执行这些任务。
正如上面的文档还提到,如果您想强制任务在任何角色之前运行,那么您可以使用pre_tasks.
因此,要让您的确认风格提示您可以简单地执行以下操作:
- hosts: all
vars_prompt:
- name: CONFIRM
prompt: Just to confirm you will install stuff
pre_tasks:
- fail: no deployment this time
when: CONFIRM != 'yes'
roles:
- common
- install_nginx
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12509 次 |
| 最近记录: |