コマンドラインからAnsibleプレイブックのホスト変数を上書きする 質問する

コマンドラインからAnsibleプレイブックのホスト変数を上書きする 質問する

これは私が使用しているプレイブックの一部です ( server.yml)。

- name: Determine Remote User
  hosts: web
  gather_facts: false
  roles:
    - { role: remote-user, tags: [remote-user, always] }

私のホストファイルには、異なるサーバーのグループがあります。例:

[web]
x.x.x.x

[droplets]
x.x.x.x

ここで、 を実行しansible-playbook -i hosts/<env> server.ymlてオーバーライドし、このプレイブックを に対して実行しhosts: webます。server.yml[droplets]

直接編集せずに、一度だけ上書きすることはできますかserver.yml?

ありがとう。

ベストアンサー1

Ansible はこの機能を提供していないと思いますが、提供されているはずです。次の操作を実行できます。

hosts: "{{ variable_host | default('web') }}"

variable_hostコマンドラインまたは vars ファイルから渡すこともできます。例:

ansible-playbook server.yml --extra-vars "variable_host=newtarget(s)"

おすすめ記事