and / or による条件の組み合わせ
複合的な when 式を組み立てます。
「and / or による条件の組み合わせ」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
複数のルール
実際の判断では、複数のルールを同時に扱う必要があります。Ansibleでは、1つのwhenの中でandとorを使ってテストを組み合わせられます。🔗
両方が真である必要があります
andを使う場合は、すべての条件を満たす必要があります。このタスクは、extrasも要求したDebianホストでのみ実行されます。
when: ansible_os_family == "Debian" and install_extrasどちらか一方で動作します
orを使う場合は、どれか1つの条件が真であれば十分です。これは、stagingまたはtestのいずれかであるホストに一致します。
when: env == "staging" or env == "test"リストによる簡略表現
whenをYAMLのlistとして記述すると、すべての項目が真である必要があります。andを表現する、すっきりと読みやすい方法です。
when:
- ansible_os_family == "Debian"
- install_extras括弧でグループ化する
andとorを組み合わせますか。parenthesesを使ってグループ化を明示し、予期しない結果を避けてください。
when: (env == "prod" or env == "staging") and backups_enabled優先順位のルール
Pythonと同じように、andはorよりも強く結び付きます。迷ったときは括弧を付け、意図したロジックがそのまま読めるようにしてください。
グループを否定する
括弧で囲んだグループの前にnotを置くと、グループ全体を反転できます。ここでは、タスクがproductionとstagingをスキップします。
when: not (env == "prod" or env == "staging")factsと変数を組み合わせる
条件では、収集したfactsと独自の変数を組み合わせられます。そのため、タスクはホストの状態と指定した意図の両方に応じて動作します。
when: ansible_memtotal_mb > 2048 and enable_cacheリストの各項目
リスト形式では、各行が1つの式になります。これらはandで結合されるため、タスクを実行するにはすべてが成功する必要があります。
変数の型に注意する
数値は数値として、文字列は文字列として比較してください。"9"のように数値を引用符で囲むと文字列になり、テストが失敗することがあります。
読みやすいロジックは安全なロジック
単純なandにはリスト形式を、複合したロジックには括弧を使ってください。明確なconditionsは、安心して確認できます。🎯
クイックチェック
複合条件をテストしましょう。
まとめ
and、or、notを使ってテストを組み合わせます。whenのリストはすべてが真であることを意味し、複合したロジックには括弧を付けると明確になります。✅
よくある質問
「and / or による条件の組み合わせ」レッスンは無料ですか?
はい。「and / or による条件の組み合わせ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「and / or による条件の組み合わせ」で何を学びますか?
複合的な when 式を組み立てます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「and / or による条件の組み合わせ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- True の場合のみタスクを実行する
- OS ファミリーの Fact による分岐
- and / or による条件の組み合わせ
- 結果を登録してから判断する