Skip to content
Latchkey

release candidate とは何か?

release candidate とは、リリース準備が整ったと考えられ、公式リリースと宣言される前に最終テストを受ける build です。

release candidate は、しばしば RC と略され、「これで決まりだと思う」バージョンです。feature-complete で、通常のチェックを通過しています。RC フェーズは、実際のリリースになる前にブロッカーとなる問題を見つける最後の機会です。

何であるか

release candidate は、しばしば 2.0.0-rc.1 のようにバージョン付けされた特定の build で、重大な問題が見つからない限りチームが出荷するつもりのものです。この時点で新しい feature は追加されず、真にリリースをブロックするバグの修正のみが行われます。候補が検証を生き延びれば、最終リリースへ昇格されます。

どう検証されるか

RC は production に近い環境に deploy され、最終テストにかけられます。完全な regression スイート、smoke test、リスクの高い領域の手動チェック、そして時には実際のユーザーへの限定的なロールアウトです。目的は、通常の pipeline が見逃したものを、全員に影響する前に表面化させることです。

チームが v3.0.0-rc.1 をタグ付けし、最終検証パスのために staging へ deploy します。テスターが重大なバグを見つけたので、修正して rc.2 を切ります。それが合格し、rc.2 がバイト単位でそのまま公式の v3.0.0 リリースへ昇格されます。

なぜチームが使うか

RC ステップは「おそらく準備完了」と「公式に出荷済み」の間に明確な線を引きます。最終的で焦点を絞ったテストのための定義された時間枠と、動く標的ではなく検証すべき安定した標的を与えます。問題が現れれば、リリース後に慌てるのではなく候補を反復します。

再構築ではなく昇格

重要なプラクティスは、最終リリースが検証された候補とまったく同じ artifact であり、ラベルを付け替えただけであることです。リリースのために再構築すると、テストしたものと微妙に異なるものを出荷することになるため、検証作業を捨てることになります。

重要なポイント

  • release candidate は準備が整ったと考えられる build で、最終テスト待ちである。
  • RC フェーズ中はリリースをブロックする修正のみが行われる。
  • 検証された候補は変更なしで最終リリースへ昇格される。

関連ガイド