本文へスキップ

ループ上級: loop_control・until/retries・with_* からの移行

Pro会員限定上級約40分6レッスン

ループは便利な反面、出力が読めなくなったり、待ちが足りずに失敗したりします。loop_control で出力を整え、with_* を loop に書き換え、until / retries / delay で「準備ができるまで待つ」処理を書きます。

対象者: ループの出力が長すぎて読めない方 / サービスの再起動直後のチェックが不安定で困っている方

前提知識: Jinja2 フィルタで構造化データを変換する 修了程度

この教材を終えると、できるようになること

  • loop_control の label でループの表示を短くし、loop_var / index_var の使いどころを説明できるようになる。
  • with_items / with_dict / with_subelements などを、loop とフィルタの組み合わせに書き換えられるようになる。
  • until・retries・delay の意味(試行回数は retries + 1)を説明し、再起動後のヘルスチェックを安定させられるようになる。
  • subelements で「ユーザー × 鍵」の入れ子をループし、ループの対象をフィルタで正しく絞れるようになる。
  • ループに register した結果(results)を selectattr で絞り、変更のあった要素だけを取り出せるようになる。

修了後の姿: 大規模・複数チームで使えるAnsibleコードを設計・テスト・配布し、変更をエラーを出さずに安全に本番へ流せる自動化エンジニアへ。

この講座はPro会員限定です。無料の会員登録後、無料レッスンのあるコースから学習を始められます。