Ansible でタスクを実行する場合に、「明示的に指定をしない限り、このタスクは実行したくない」というケースがあります。 タスクとしては定義しておかなければいけないけれど、playbook を実行する人に無意識に実行させたくないようなケースですね。 このため、--tags や --skip-tags を使っても問題は解決しません。
こういう場合の方法ですが、--extra-vars オプションを使用する方法が良いと思っています。
- hosts: localhost (snip) vars: # 明示的に指定しない限りスキップするタスクに when 句で付与する変数 thorough: false tasks: - name: dangerous task command: dengerous command when: thorough == "true"
上記のように、タスクは特定の変数 (例では "thorough") が true のときにのみ実行しておくように条件を設定した上で、その変数は false をデフォルトとして定義しています。 当該タスクを実行したい場合は、
$ ansible-playbook localhost.yaml -e 'thorough=true'
という風に明示的に指定すれば良いです。 -e を指定しない場合、当該タスクは実行されません。