本番環境でのアナライザーの最後に正常動作していたバージョンへのロールバック

アナライザーを以前のマイナーバージョンまたはパッチバージョンにロールバックする

このランブックは、リリースに重大度の高いインシデントがある場合にアナライザーを以前のバージョンにロールバックする手順を提供します。これは、顧客にスムーズなユーザー体験を確保するための即時的な応急措置です。 このランブックは、アナライザーの問題のメンテナンスとトラブルシューティングを担当するエンジニア向けです。

注意: このランブックは、analyzer.yml または docker.yml を直接インクルードすることで ci-templates を利用するアナライザーに適用されます。

ロールバック手順

まず、バグが発生しているアナライザーのバージョンを特定してください。バグが再現しないことを確認するために、以前のバージョンをテストしてください。2 つのバージョン間で行われた重要な変更をメモし、バグの Issue に記録してください。ロールバックが適切かどうか不明な場合は、EM/PM に相談してください。

アナライザーをロールバックする手順

  1. ロールバックが必要なアナライザーに移動してください。
  2. 「Build」タブに移動し、「Pipelines」を選択してください。
  3. 「Run pipeline」ボタンをクリックしてください。
  4. アナライザーの最後に正常動作していたバージョン(タグ)を選択してください。
  5. パイプラインを実行してください。
  6. パイプラインの完了を待ってください。

注意: パイプラインが完了すると、「latest」とメジャーバージョンのイメージタグが、選択したタグからビルドされたイメージに自動的に更新されます。

重要な考慮事項

  • ロールバックが完了したら、バグ修正がデフォルトブランチにマージされるまでリリースを行わないこと
  • パイプラインをタグに対して実行できるのはメンテナーとオーナーのみ(保護されている)
  • ロールバックを開始する前に、正常動作していたバージョンを確認すること
  • パイプラインの進行を監視して正常に完了したことを確認すること

ロールバック後のアクション

アナライザーのロールバックが正常に完了したら:

  1. ロールバックされたアナライザーイメージで本番環境のバグが再現しないことをテストしてください
  2. ロールバックが行われた旨を Issue にコメントしてください
  3. グループの Slack チャンネルに更新情報を投稿し、バグが修正されるまで MR がマージされないようにアナライザーのすべてのメンテナーにタグを付けてください
  4. 本番インシデントが緩和された旨を EM/PM に通知してください
  5. バグ修正を含む新しいリリースを計画してください