ロールを自動テストする(Molecule 風)
Pro会員限定上級約40分6レッスン
ロールを直すたびに staging で試すのは遅く、壊したときの影響も大きくなります。使い捨てのインスタンスにロールを流して、冪等性(2回目に何も変えないこと)と、期待する状態になったか(verify)を自動で確かめる流れを、Molecule 風のツールで練習します。
対象者: ロールを直すたびに staging で手で確かめている方 / ロールのテストを CI に入れたい方
前提知識: ansible-lint で品質の基準をそろえる 修了程度
この教材を終えると、できるようになること
- シナリオの構成(molecule.yml・converge.yml・verify.yml)を読み、converge でロールを適用できるようになる。
- molecule idempotence の失敗から冪等でないタスクを特定し、原因(テンプレートの時刻)を直せるようになる。
- verify の失敗を読み、ロールの既定値を仕様(README)に合わせて直せるようになる。
- molecule test の流れ(シーケンス)と、失敗したときの後片付けを説明できるようになる。
- テンプレートと既定値を直し、molecule test が最後まで成功することを確かめられるようになる。
修了後の姿: 大規模・複数チームで使えるAnsibleコードを設計・テスト・配布し、変更をエラーを出さずに安全に本番へ流せる自動化エンジニアへ。
Chapter 1converge・idempotence・verify・test
インスタンスへの適用、冪等性のテスト、状態の検証、一連の流れの自動実行を練習します。
- 使い捨てのインスタンスにロールを流すmolecule converge でインスタンスを作り、ロールを適用する約7分(有料会員限定)
- 冪等性のテストで落ちる理由を直すテンプレートに実行時刻を入れると、毎回 changed になる約8分(有料会員限定)
- verify で「期待する状態」を確かめるverify.yml はロールの仕様書。落ちたら直すのはロールの側約8分(有料会員限定)
- molecule test は失敗しても片付けるtest は作成から破棄まで。失敗してもインスタンスは消える約6分(有料会員限定)
- molecule test を通して CI に載せる冪等性と要件の両方を満たして、一連のテストを通す約8分(有料会員限定)
Chapter 2確認クイズ
ロールの自動テストの理解度をチェック。