特殊タグ always と never
条件にかかわらずタスクを強制実行またはブロックします。
「特殊タグ always と never」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。
2つの予約タグ
Ansible には、組み込みの動作を持つ2つの特別なタグ名があります。それが always と never です。これらはフィルターではなくルールです。🔒
always は毎回実行
always タグが付いたタスクは、どの --tags を指定しても、すべての play で実行されます。必ず行うセットアップに最適です。
- name: Gather setup
ansible.builtin.setup:
tags:
- alwaysalways をスキップする
例外として、--skip-tags always を指定すれば、本当に必要な場合に限り、これらのタスクも除外できます。
ansible-playbook site.yml --skip-tags alwaysalways の適切な使い方
後続のタスクが依存する変数やファクトの読み込みには always が適しています。どのように絞り込んでも、それらが存在するようにできます。
- ansible.builtin.include_vars: app.yml
tags:
- alwaysnever は非表示のまま
never タグが付いたタスクは、デフォルトではスキップされます。明示的に指定するか、別のタグを指定した場合にのみ実行されます。
- name: Wipe database
ansible.builtin.command: drop-all
tags:
- never
- debugnever を明示的に実行する
never タスクを実行するには、--tags でそのタグを直接指定します。指定することで、デフォルトのスキップが上書きされます。
ansible-playbook site.yml --tags debug危険な手順には never を使う
never は、破壊的なクリーンアップのような危険なタスクや、めったに必要にならないタスクを保護するために使います。これにより、誤って実行されることを防げます。
never と通常のタグを組み合わせる
never タスクには2つ目のタグも付けます。その親しみやすい名前で実行でき、never によってデフォルトでは安全に無効化されたままになります。
always は選択より優先される
--tags config を実行した場合でも、すべての always タスクは選択したタスクと一緒に実行されます。always は追加される動作です。
正反対の2つのデフォルト
この対称性を覚えておきましょう。always はスキップしない限りタスクを実行対象にし、never は要求しない限り実行対象から外します。
安全なクリーンアップタスク
この破壊的なタスクには never と cleanup タグが付いているため、クリーンアップを意図的に要求した場合にのみ実行されます。🛡️
- name: Reset state
ansible.builtin.command: reset.sh
tags:
- never
- cleanupクイックチェック
あるタスクに never だけが付いています。いつ実行されますか。
まとめ
always はスキップしない限り実行され、never はそのタグを明示的に要求するまで無効のままになることを学びました。これにより、危険なタスクを保護できます。✅
よくある質問
「特殊タグ always と never」レッスンは無料ですか?
はい。「特殊タグ always と never」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。
「特殊タグ always と never」で何を学びますか?
条件にかかわらずタスクを強制実行またはブロックします。 ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ansible Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「特殊タグ always と never」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAnsible Academyレッスンでコードを書いて実行できますか?
はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- タスク・Play・Role のタグ付け
- --tags と --skip-tags で実行を絞り込む
- 特殊タグ always と never
- 実行前にタグとタスクを一覧表示する