upgrade --install --atomic による自動デプロイ
失敗時に自動ロールバックする、安全で繰り返し可能なロールアウトを実現します。
「upgrade --install --atomic による自動デプロイ」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
すべてのデプロイに使える1つのコマンド
パイプラインでは、初回からその後のすべての実行まで使える、単一のデプロイコマンドが必要です。helm upgrade --installがそのコマンドです。🚀
--install で冪等性を実現する理由
--installフラグを指定すると、リリースが存在しない場合は Helm がインストールし、すでに存在する場合はアップグレードします。CI スクリプトに分岐ロジックは必要ありません。
helm upgrade --install myapp ./mychart短縮形 -i
-i は --install の短縮形としてよく使われます。どちらも、オートメーションで必要になる同じインストールまたはアップグレードの動作を意味します。
helm upgrade -i myapp ./mychart -f values-prod.yaml安全性のために --atomic を追加
--atomic フラグを指定すると、アップグレードはすべて成功するか、すべて取り消されるかのどちらかになります。ロールアウトに失敗すると、Helm は自動的に直前の正常なリビジョンへロールバックします。
helm upgrade -i myapp ./mychart --atomicatomic は wait を伴います
成功したかどうかを判断する必要があるため、--atomic を指定すると --wait も有効になります。Helm はリソースの準備が整うまで待機し、その後、変更を維持するかすべてを元に戻します。
必ず --timeout を設定
停止した Pod によってパイプラインがいつまでも止まらないように、atomic には明示的な --timeout を組み合わせてください。時間切れになると、自動ロールバックが実行されます。
helm upgrade -i myapp ./mychart --atomic --timeout 5mチャートのバージョンを固定
再現性のあるデプロイを行うには、--version を指定してください。これにより、CI はリポジトリでたまたま最新になっているバージョンではなく、正確なチャートバージョンをインストールします。
helm upgrade -i myapp myrepo/mychart --version 1.4.2 --atomicビルドの値を適切に注入
ビルドで生成した新しいイメージタグは --set で渡し、それ以外の設定は -f で指定する values ファイルでバージョン管理します。
helm upgrade -i myapp ./mychart -f values-prod.yaml --set image.tag=$SHANamespace を一度だけ作成
新しい環境では --create-namespace を追加してください。最初のデプロイ時に Namespace が作成されるため、対象が存在しないことで失敗するのを防げます。
helm upgrade -i myapp ./mychart -n prod --create-namespace --atomicatomic と cleanup-on-fail の違い
atomic を指定しない場合、インストールに失敗すると孤立したリソースが残ることがあります。アップグレードで問題が起きたときに作成済みのリソースを削除するには、--cleanup-on-fail を使用してください。
まず Runner を認証
CI ジョブにはクラスタへのアクセスが必要なので、デプロイ前にシークレットから kubeconfig を読み込んでください。Helm は kubectl と同じように、そのコンテキストをそのまま再利用します。
確認問題
自動デプロイが途中で失敗しました。Helm に自動的にロールバックさせるには、どのフラグを使いますか?
まとめ:安全で再現性のあるロールアウト
人手を介さず、失敗時に自動ロールバックするデプロイには、helm upgrade -i --atomic --timeout を使用します。1つのコマンドで、毎回インストールまたはアップグレードを実行できます。✅
よくある質問
「upgrade --install --atomic による自動デプロイ」レッスンは無料ですか?
はい。「upgrade --install --atomic による自動デプロイ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「upgrade --install --atomic による自動デプロイ」で何を学びますか?
失敗時に自動ロールバックする、安全で繰り返し可能なロールアウトを実現します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「upgrade --install --atomic による自動デプロイ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- CI における lint とテンプレートのゲート
- helm diff による変更のプレビュー
- upgrade --install --atomic による自動デプロイ
- リリースジョブからのチャート公開