GitLab リリース
プロダクトのリリース情報をお探しですか?リリースポスト、リリースページ、What’s new、changelog、または機能と非推奨の概要を参照してください。
概要
GitLab には 3 つの異なるリリースタイプがあります:
- マンスリーリリース: 毎月第 3 木曜日に公開される GitLab バージョン(XX.YY.0)で、GitLab.com へのデプロイが成功した新機能、バグ修正、パフォーマンス改善を含みます。
- パッチリリース: メンテナンス対象バージョン向けのバグ修正とセキュリティ更新で、月に 2 回公開されます。
- 内部リリース: 是正 SLA 内で GitLab Dedicated に高重大度の修正を提供するためのプライベートリリース。
リリースポリシー
なぜリリースポリシーが重要なのか
GitLab はセマンティックバージョニングに従っており、これは私たちの顧客との契約を確立します:
- MAJOR バージョンには破壊的変更が含まれる場合があります
- MINOR バージョンには新機能が含まれます(後方互換性あり)
- PATCH バージョンにはバグ修正のみが含まれます(自動アップグレードが安全)
顧客はこの契約に基づいてアップグレードの判断を行います。多くの顧客は、パッチにはバグ修正のみが含まれることを信頼しているため、広範なテストを行わずにパッチリリースを自動アップグレードします。私たちがこの契約に違反すると、次のことが起こります:
- リリースプロセス全体に対する顧客の信頼を損なう
- 予期しない変更で顧客の環境をリスクにさらす
- 顧客が計画のために頼りにしているリリースの予測可能性を弱める
- 急いだリリースが追加のパッチを必要とする新しいバグを導入したときに連鎖的な問題を生み出す
各リリースタイプに含まれるもの
| リリースタイプ | 含むもの | 含まないもの |
|---|---|---|
| マンスリー | 新機能、バグ修正、パフォーマンス改善 | 該当なし - これはすべての新しい作業の手段です |
| パッチ | バグ修正、セキュリティ修正、パフォーマンスリグレッション | 新機能、フィーチャーフラグの有効化、未完成の作業 |
| 内部 | Dedicated インスタンス向けの重大なバグ修正、セキュリティ修正 | 新機能、フィーチャーフラグの有効化、未完成の作業 |
バグおよびセキュリティ修正のタイムラインに関する SLO/SLA コミットメントについては、パッチリリースの SLO/SLA コミットメントを参照してください。
期限を逃したときのオーナーシップ
機能がマンスリーリリースの期限を逃した場合、適切なパスはリリースポリシーへの例外ではなく、次のマンスリーリリースです。
| チーム | オーナーシップ |
|---|---|
| Development | 次のポリシー準拠リリースでコードを出荷する |
| Product | 遅延をステークホルダーに伝える、ロードマップの期待を調整する |
| Customer Success | 顧客の期待を管理する、タイムラインの変更を交渉する |
| Release | GitLab リリースに対する顧客の信頼を維持するポリシー準拠リリースを実行する |
リリースマネージャーは、逃した期限への対応をオーナーとして引き受けることはありません。
例外プロセス
[!IMPORTANT] 承認されたすべての例外には、Feature Change Lock (FCL) とリリース後のインシデントレビューが必要です。これらは任意ではありません。
リリースポリシーへの例外はまれであり、Release チーム外での明示的な承認が必要です。
リリースマネージャーは、リリースポリシーに違反するリクエストを却下する権限を持ちます。 Customer Success、Sales、その他のチームからのプレッシャーは、ポリシー例外の承認を構成しません。
例外が必要だと考えられる場合:
- リクエスト者がビジネス上の正当性と顧客への影響評価を文書化する
- リクエスト者がプラットフォームの安定性を保護するために Feature Change Lock (FCL) を開始する(必須)
- リクエスト者がスポンサーシップを得るために自分の Director/VP にエスカレーションする。承認するリーダーはポリシー違反についての書面による承認確認を提供する
- スポンサーとなる Director/VP が Delivery/Platforms 組織内のエンジニアリングリーダーシップに例外を要請する:
- バックポート例外(N-3+): Senior Engineering Manager 以上
- アウトオブバンドリリース: Director of Infrastructure (Delivery Enablement) 以上
- ポリシー違反(パッチ内の機能、マンスリーのやり直し): VP of Engineering, Infrastructure Platforms 以上
- リリースマネージャーは書面による承認を受け取った後にのみ実行する
- リリース後: 例外リクエストの根本原因に対処するためのインシデントレビュー(必須)
このプロセスなしで承認された例外は、すべてのリリースポリシーを損なう前例を作ります。
エスカレーションパス
| 状況 | 連絡先 |
|---|---|
| プロセスに関する質問 | #releases Slack チャンネル |
| 例外リクエスト | あなたの Director/VP(リリースマネージャーではない) |
| ポリシーの明確化 | Delivery/Platforms リーダーシップ |
リリースの調整
関与するチーム
| チーム | 責任 |
|---|---|
| Release Team | デプロイ、プロセス調整、ポリシー準拠リリースの実行 |
| Infrastructure | 環境の更新 |
| Security | 脆弱性の修正と開示の調整 |
| Product | 機能の準備状況、機能が期限を逃したときの遅延のオーナーシップ |
| Marketing | リリースコミュニケーション |
コミュニケーション
- #releases(Slack): リリースのステータスと質問
- リリースポスト: 公開アナウンス
メンテナンスポリシー
詳細については GitLab メンテナンスポリシーを参照してください
用語
- メンテナンスポリシー: self-managed ユーザー向けのメジャー、マイナー、パッチリリースのリリースペースを説明します。
- 今後のバージョン: 開発中の新しい GitLab リリース(XX.YY.0)。
- メンテナンス対象バージョン: メンテナンスポリシーの対象となる GitLab バージョン。
- バックポート: 最近のバージョンからのバグまたはセキュリティ修正で、古いバージョンに適用されるもの。
- 安定版ブランチ: 顧客に提供される GitLab リリースパッケージのソース。
- 自動デプロイ: アプリケーションの変更を GitLab.com にデプロイする GitLab プロセス。
- リリースマネージャー: GitLab リリースと GitLab.com へのデプロイの DRI。
リソース
マンスリーリリース
パッチリリース
内部リリース
リンク
パッチリリース
マンスリーリリース
リリースマネージャー
ステーブルブランチ
バックポート
bfd74782)