ホットフィックスとは?
ホットフィックスとは、通常のリリーススケジュール外で、本番の深刻な問題を修正するために素早くデプロイされる、緊急で対象を絞った変更です。
本番が壊れていて次のスケジュールされたリリースを待つことが選択肢にないとき、ホットフィックスを出荷します: 出血を止めるために素早く作成しデプロイする、小さく的を絞った変更です。うまくやれば、速くてなお安全です。
ホットフィックスとは
ホットフィックスは、本番のクリティカルで時間に敏感な問題、クラッシュ、セキュリティホール、重要な機能の破損に対処する最小限の変更です。それは意図的に小さく問題に絞られており、無関係な変更を巻き込まずに素早くレビュー・テスト・出荷できます。
ホットフィックス対rollback
どちらも悪い状況から回復しますが、方法が異なります。rollbackは以前のバージョンに戻し、問題と新しいリリースのその他すべてを取り消します。ホットフィックスは小さな修正の変更で前進します。前のバージョンが問題ないときはrollbackし; 戻ることが選択肢にないか、バグが最後のリリースより前から存在する場合はhotfixします。
例
あるバグが一部のユーザーでログインページをクラッシュさせます。戻すと同じリリースで出荷された必要な機能も取り消してしまうため、代わりに開発者が2行の修正を書き、素早いレビューを受け、CIに検証させ、その変更だけをデプロイして、1時間以内にログインを復旧させます。
なぜホットフィックスでもCIを通すのか
急いでいるときにpipelineをスキップしたくなりますが、まさにそのときにミスが起こります。ホットフィックスをCI、build、tests、checksに通すのは数分で済み、急いだ修正が障害をさらに悪化させるというよくあるシナリオを防ぎます。高速で信頼できるpipelineがこれを安全にします。
ホットフィックスの後
- 修正がリリースだけでなくメインラインにマージし戻されていることを確認する。
- バグが再発できないようregression testを追加する。
- 何がバグを本番に到達させたのかをレビューする。
- 得た教訓を通常のプロセスに織り込む。
重要なポイント
- ホットフィックスは、本番を素早く修復する緊急で小さな変更です。
- それは修正で前進します; rollbackは代わりに戻します。
- 緊急のホットフィックスでも、事態を悪化させないようCIを通すべきです。
関連ガイド
What Is a Rollback?What is a rollback? Learn how reverting to a previous known-good version recovers from a bad deploy, how it w…
What Is a Deployment?What is a deployment? Learn what it means to deploy software, how deployments work, an example, the differenc…
What Is a Regression Test?What is a regression test? Learn how these tests catch newly broken behavior that used to work, how they fit…
What Is a Release?What is a release? An explainer on making software available to users, how releases are versioned, an example…