パイプラインでの冪等性と Lint
ドリフトやスタイル違反を早期に検出します。
「パイプラインでの冪等性と Lint」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。
verify以外の2つのゲート
優れたロールには、さらに2つの条件があります。冪等であり、lintを通過することです。Moleculeがこの2つを実行してくれます。
冪等性のステップ
Moleculeはロールを2回目に実行し、その出力を確認します。この専用ステップを冪等性と呼びます。
molecule idempotence2回目の実行で変更ゼロ
2回目の実行では変更がないことが求められます。いずれかのタスクがchangedを報告すると、冪等性のステップでテストが失敗します。
よくある原因
生のcommandモジュールを使ったタスクは毎回実行されるため、冪等性を壊しがちです。代わりに適切なモジュールを使用してください。
lintステップ
lintステップは、ホストが作成される前にYAMLとタスクの静的チェックを実行します。
molecule lintansible-lintが支えるチェック
lintはansible-lintを実行し、名前の不足、非推奨の構文、安全でないシェルの使用など、危険なパターンを指摘します。
ansible-lintyamllintでスタイルをチェック
さらにyamllintも実行し、インデントの誤り、末尾の空白、長すぎる行など、書式の問題を検出します。
マトリクスで早期に失敗
lintはmolecule testの早い段階で実行されるため、スタイルエラーがあると、ホストの作成に時間を使う前に実行が停止します。
CIですべて実行
パイプラインでは、1回のmolecule test呼び出しでlint、converge、verify、冪等性を1つの品質ゲートとして実行できます。
molecule test失敗時にマージをブロック
そのコマンドをCIに組み込み、テストが失敗したらマージをブロックするようにします。問題のあるロールがmainブランチに到達することはありません。
成功すれば出荷可能
実行が成功すれば、ロールがlintを通過し、正しく適用され、検証され、冪等であることが証明されます。これが本番運用可能であることを示すサインです。
クイックチェック
Moleculeがロールの冪等性をどのように証明するか思い出してください。
まとめ
Moleculeは2つのゲートを追加します。lintがスタイルと危険なパターンを早期に検出し、冪等性によって2回目の実行で何も変更されないことを証明します。CIに組み込みましょう。🚦
よくある質問
「パイプラインでの冪等性と Lint」レッスンは無料ですか?
はい。「パイプラインでの冪等性と Lint」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。
「パイプラインでの冪等性と Lint」で何を学びますか?
ドリフトやスタイル違反を早期に検出します。 ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ansible Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「パイプラインでの冪等性と Lint」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAnsible Academyレッスンでコードを書いて実行できますか?
はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Infrastructure Code をテストする理由
- molecule init と Scenario の構成
- Converge、Verify、Test Matrix
- パイプラインでの冪等性と Lint