絞り込み条件を変更する
検索条件を絞り込む

すべてのカテゴリ

1 件中 1 - 1 件表示
カバー画像

Ansibleの罠:「--tags」を指定したのにinclude先のタスクが全部実行されてしまう原因と対策

Ansibleの罠:--tags を指定したのに include 先のタスクが全部動いてしまう原因と対策 Ansibleで特定の処理だけを実行しようと --tags を指定した際、「タグを設定していないはずのタスクまで実行されてしまった」という経験はありませんか? これはAnsibleの仕様である「タグの継承(Inheritance)」が関係しています。 本記事では、この挙動の仕組みと、意図しない実行を防ぐための正しい書き方を解説します。 ---  1. 【起】なぜ意図しないタスクが動くのか 例えば、以下のようなメインのPlaybook(main.yml)があるとします。# main.yml - name: crontab関連のタスクを読み込む   ansible.builtin.include_tasks:    file: "sub.yml"  tags: crontabこの状態で、コマンドラインから ansible-playbook main.yml --tags crontab を実行すると、読み込まれる sub.yml の中に書かれたタスクは、タグ設定の有無に関わらずすべて実行対象になります。 「sub.ymlの中にある特定のタスクだけを動かしたい」と思ってタグを付けても、呼び出し側の include_tasks にタグがあると、ファイル全体がそのタグの色に染まってしまうのです。  2. 【承】挙動の正体は「タグの継承」と「never」の仕様 この挙動を理解するポイントは3つです。  ① タグの継承 (Tag Inheritance) include_tasks や
0
1 件中 1 - 1