承認と Check Mode によるゲート付きデプロイ
環境をまたいで変更を昇格させます。
「承認と Check Mode によるゲート付きデプロイ」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
すべてのプッシュを本番に反映しない
継続的デリバリーは優れていますが、本番環境には一時停止が必要です。ゲートを設けると、変更内容を確認して承認してから本番に反映できます。🚦
チェックモードでプレビューする
まずプレイを --check モードで実行します。Ansible は実際には何も変更せず、変更される内容を報告します。
ansible-playbook site.yml --check正確な差分を確認する
チェックモードと --diff を組み合わせると、実行時に行われる正確なファイル変更をパイプラインのログで確認できます。
ansible-playbook site.yml --check --diff環境を順に進めて展開する
まず staging に変更を送り、そこで検証します。問題がなければ、まったく同じプレイブックを production に昇格させます。
GitHub の環境でルールを追加する
production のような GitHub の環境ではレビュアーを必須にできます。その環境を対象とするジョブは、人間の承認を待ってから進みます。
jobs:
deploy:
environment: production必須レビュアー
その環境に必須レビュアーを設定すると、デプロイジョブはレビュアーの1人が UI で承認するまで一時停止します。
計画をアーティファクトとして保存する
チェックモードの差分出力をビルドアーティファクトとして保存し、レビュアーが承認する内容を正確に確認できるようにします。
- uses: actions/upload-artifact@v4
with:
path: plan.txt計画と適用のジョブを分ける
apply ジョブを needs で plan ジョブに依存させます。これにより、プレビューのジョブが成功するまで何も適用されません。
apply:
needs: plan
environment: productionチェックモードの制約に注意する
チェックモードでは完全にシミュレーションできないタスクもあります。そのようなタスクには check_mode: false を指定し、ドライラン中はスキップします。
- command: /usr/bin/report
check_mode: falseウェーブ単位で展開する
承認後は serial を使って小さなバッチ単位でデプロイします。問題のある変更が少数のホストにだけ影響しているうちに停止できます。
- hosts: web
serial: 2監査証跡を残す
承認操作、計画のアーティファクト、実行ログを組み合わせることで、誰がいつ何をリリースしたかを示す監査証跡になります。
確認問題
本番環境への変更を適用する前にプレビューするには、どうすればよいでしょうか。
振り返り:承認してから適用する
デプロイにゲートを設けました。チェックモードと差分でプレビューし、環境にレビュアーを必須にしてから、安全な serial ウェーブで展開します。🛡️
よくある質問
「承認と Check Mode によるゲート付きデプロイ」レッスンは無料ですか?
はい。「承認と Check Mode によるゲート付きデプロイ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「承認と Check Mode によるゲート付きデプロイ」で何を学びますか?
環境をまたいで変更を昇格させます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「承認と Check Mode によるゲート付きデプロイ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 品質ゲートとしての ansible-lint
- GitHub Actions で Playbook を実行する
- パイプラインで Vault Secret を扱う
- 承認と Check Mode によるゲート付きデプロイ