一千萬個為什麽

搜索

為Ansible playbook指定默認參數



當我創建劇本時,我經常在頂部添加一個關於如何運行Ansible劇本的評論部分。隨著Ansible中可用的更多選項,命令行參數列表似乎也在增長。這讓我很好奇,看看是否有辦法在劇本中指定這些參數的默認值。

例如,我的劇本需要以下參數:

  • the hosts file: -i hosts
  • the password for become: -K
  • the password for the vault: --ask-vault-pass
  • the name of the playbook: myplaybook.yml

It would be easier if I could just run the following command (especially for co-workers):
ansible-playbook myplaybook.yml

並在playbook中指定,默認情況下,它應該查找 hosts 庫存文件並詢問sudo + vault密碼。當然,我可以創建一個腳本並包裝playbook命令,但這會在它上面添加另一個層。

我想我正在尋找在我的劇本中加入這樣的東西:

vars:
  inventory_file: hosts
  ask_become_pass: true
  ask_vault_pass: true

那可能嗎?

轉載註明原文: 為Ansible playbook指定默認參數

一共有 1 個回答:

這就是配置文件的用途。在運行 ansible 的目錄中創建 ansible.cfg ,如下所示:

[defaults]
inventory = hosts
ask_vault_pass = True

[privilege_escalation]
become_ask_pass = True

See also http://docs.ansible.com/ansible/latest/reference_appendices/config.html

工作目錄中的 ansible.cfg 位於 /etc/ansible/ansible.cfg 之前。完整的搜索順序在上面鏈接的頁面上描述。您在調用時傳遞的命令行選項會覆蓋所有配置文件。