Infrastructure Code をテストする理由
テストされていない自動化が招くコストを学びます。
「Infrastructure Code をテストする理由」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
ロールもコードです
サーバーをインストールして設定するロールは、れっきとしたソフトウェアです。コードと同じく、本番環境で初めて表面化するバグが潜むことがあります。
テストされていない自動化の代償
テストされていないロールは、一度に何百台ものホストを壊す可能性があります。インフラストラクチャコードの影響範囲は、通常のバグよりはるかに広くなります。
手動テストは規模に対応できません
ロールを試すために手作業でVMを起動するのは、時間がかかり、再現も困難です。代わりに、自動化された再現可能なテストが必要です。
Moleculeの紹介
Moleculeは、Ansibleロール向けの標準的なテストフレームワークです。クリーンなホストを作成し、その上でロールを実行して結果を確認します。
pipでインストール
MoleculeはPython製のツールです。pipでインストールし、通常は使い捨てのテストホスト用にDockerプラグインのようなドライバーと組み合わせます。
pip install molecule molecule-plugins[docker]使い捨てのテストホスト
Moleculeは新しいコンテナまたはVMを起動し、ロールを適用してから破棄します。すべてのテストが、クリーンで既知の状態から始まります。
リグレッションを早期に検出
テストはノートパソコン上でもCI上でも数秒で実行できます。実際のサーバーに触れる前に、壊れたロールを検出できます。
冪等性もテスト
Moleculeはロールを2回実行し、2回目の実行で変更が報告された場合に失敗します。これにより、ロールが本当に冪等であることを証明できます。
スタイルもチェック
組み込みのlintチェックでansible-lintとyamllintを実行するため、悪い慣行や雑なYAMLが自動的に指摘されます。
安心してリファクタリング
テストで動作を守っていれば、複雑になったロールを自由に書き直せます。テストが成功していれば、契約を壊していないと確認できます。
パイプライン向けに構築
ローカルで実行するものと同じmoleculeコマンドをCIでも実行できるため、すべてのプルリクエストをまったく同じ方法でテストできます。
molecule testクイックチェック
MoleculeがAnsibleロールに対して行う中心的な役割を思い出してください。
まとめ
ロールはコードなので、テストが必要です。Moleculeはクリーンなホストを起動し、ロールを実行して、冪等性とlintを確認します。さらに、パイプラインにも組み込めます。🧪
よくある質問
「Infrastructure Code をテストする理由」レッスンは無料ですか?
はい。「Infrastructure Code をテストする理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「Infrastructure Code をテストする理由」で何を学びますか?
テストされていない自動化が招くコストを学びます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Infrastructure Code をテストする理由」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Infrastructure Code をテストする理由
- molecule init と Scenario の構成
- Converge、Verify、Test Matrix
- パイプラインでの冪等性と Lint