安装的“是”和“否”可能性

安装的“是”和“否”可能性

是否可以用“是”和“否”问题提示用户?我确信有,但我需要它在回答“是”时安装软件包,在回答“否”时跳过软件包。如何有效地做到这一点?谢谢。

答案1

可以在运行剧本时向用户提问。使用vars_prompt

---
- hosts: all

  vars_prompt:
    - name: username
      prompt: "What is your username?"
      private: no

    - name: password
      prompt: "What is your password?"

  tasks:
    - debug:
        msg: 'Logging in as {{ username }}'

布尔值的示例:

---
- hosts: all

  vars_prompt:
    - name: install_apache
      prompt: "Install Apache?"
      private: no

  tasks:
    - apt:
        name: apache2
        state: present
      when: install_apache

根据此特定示例的用例,可能是动态库存使用特定定义的变量是一个更好的解决方案。

我不同意每次剧本应该不是以交互方式运行。安装包的示例可能不太相关,因为它与基础设施即代码, 方法。

我们还有一系列其他用例

  • 自动执行日常任务。
  • 负载测试准备。
  • 持续集成/持续部署。
  • [...]

答案2

Ansible 剧本应该以非交互方式运行。

您想使用变量来做出这种决定。

相关内容