0Pricing
DevOps Bootcamp · レッスン

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 --atomic

atomic は 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=$SHA

Namespace を一度だけ作成

新しい環境では --create-namespace を追加してください。最初のデプロイ時に Namespace が作成されるため、対象が存在しないことで失敗するのを防げます。

helm upgrade -i myapp ./mychart -n prod --create-namespace --atomic

atomic と 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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. CI における lint とテンプレートのゲート
  2. helm diff による変更のプレビュー
  3. upgrade --install --atomic による自動デプロイ
  4. リリースジョブからのチャート公開
← DevOps Bootcampに戻る