0Pricing
DevOps Bootcamp · レッスン

True の場合のみタスクを実行する

ブール条件でタスクの実行を制御します。

「True の場合のみタスクを実行する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

条件で動くタスク

タスクを特定の場合にだけ実行したいことがあります。whenキーワードを使うと、指定した条件によってタスクの実行を制御できます。🚦

whenキーワード

任意のタスクにwhenを追加します。式がtrueならタスクが実行され、falseならAnsibleはそのタスクをスキップして先に進みます。

- name: Reboot the box
  ansible.builtin.reboot:
  when: reboot_required

波括弧は不要

whenの中には、式をそのまま記述します。文字列の場合とは異なり、whenはすでにJinja2のコンテキストなので二重波括弧は不要です。

when: ansible_distribution == "Ubuntu"

真と評価される変数

単純なブール変数はそのまま使えます。install_extrasがtrueならタスクが実行され、それ以外の場合は静かにスキップされます。

- name: Add extra tools
  ansible.builtin.package:
    name: htop
  when: install_extras

比較

条件では値を比較できます。==、!=、<、>などの演算子を使って、数値や文字列に基づいてタスクの実行を制御できます。⚖️

when: app_version == "2.0"

スキップと失敗の違い

スキップされたタスクは失敗ではありません。実行結果にはokやchangedの代わりにskippingと表示され、playは続行されます。

条件を否定する

notを使うと、判定結果を反転できます。このタスクは、サービスがまだインストールされていない場合にだけ実行されます。

when: not service_installed

定義済みかどうか

変数が存在するかどうかを確認できます。is definedテストを使うと、未定義の変数によるエラーを防げます。

when: custom_port is defined

whenはホストごとに実行される

各ホストは個別に評価されます。同じplayの中でも、あるサーバーでは条件がtrueになり、別のサーバーではfalseになることがあります。

条件をシンプルに保つ

読みやすい条件は、信頼性の高い条件でもあります。whenが長くなった場合は、ロジックを分割するか、意図を表す変数を使ってください。

条件宣言であり命令ではない

whenによってplaybookを宣言的に保てます。条件を記述すれば、Ansibleがホストごとに判断します。ifブロックや分岐スクリプトは必要ありません。🎯

クイックチェック

whenの動作を確認しましょう。

振り返り

whenキーワードを使うと、式がtrueの場合にだけタスクが実行されます。falseの場合は失敗ではなくスキップになり、ホストごとに評価されます。✅

よくある質問

「True の場合のみタスクを実行する」レッスンは無料ですか?

はい。「True の場合のみタスクを実行する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「True の場合のみタスクを実行する」で何を学びますか?

ブール条件でタスクの実行を制御します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「True の場合のみタスクを実行する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. True の場合のみタスクを実行する
  2. OS ファミリーの Fact による分岐
  3. and / or による条件の組み合わせ
  4. 結果を登録してから判断する
← DevOps Bootcampに戻る