【ギットラブフロー】

GitLab Flow とは?

💡 GitHub Flowの使いやすさに、環境別デプロイの現実解を足した戦略
📌 このページのポイント
GitLab Flow のブランチ構成 feature/#1 feature/#2 feature/#3 main 開発統合 staging 検証環境 production 本番環境 マージ マージ ポイント: 上流(main)→下流(staging→production)の順にマージ 本番リリース = productionブランチへのマージ
featureブランチはmainにマージされ、確認後にstaging→productionと流れる
ひよこ ひよこ

GitLab Flowって、Git FlowやGitHub Flowと何が違うの?

ペンギン先生 ペンギン先生

ポジション的には中間だよ。GitHub Flowはmainにマージしたら即本番デプロイという超シンプルな戦略。でも「まずステージングで確認してから本番に出したい」という現実にはそのままだと使いにくいんだ

ひよこ ひよこ

じゃあGitLab Flowはどう解決するの?

ペンギン先生 ペンギン先生

環境ごとのブランチを用意するんだよ。main→staging→productionの順に上流から下流へマージする。featureブランチはmainにマージされて、確認が取れたらstagingへ、本番OKならproductionへと順番に流れるんだ

ひよこ ひよこ

なるほど、環境のラインが増えるんだね!

ペンギン先生 ペンギン先生

そう。Git Flowは開発・リリース・ホットフィックスなど多くのブランチを管理しないといけないけど、GitLab Flowは基本featureとmain、プラス環境ブランチだけでいいからシンプルだよ

ひよこ ひよこ

イシュー番号をブランチ名に入れるって聞いたけど、それも重要なの?

ペンギン先生 ペンギン先生

GitLabではブランチ名に「42-add-login」みたいにイシュー番号を入れるのが慣習だよ。GitLabUI上でイシューとブランチが自動リンクされて、「このコードはどの課題の作業か」が追えるんだ

ひよこ ひよこ

どんなチームに向いているの?

ペンギン先生 ペンギン先生

複数の環境(テスト・ステージング・本番)があって、GitHub Flowのシンプルさは好きだけどそのまま本番直デプロイは怖い、というチームにぴったりだよ。GitLabだけでなく他のGitサービスでも使える戦略なんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
GitLab Flow」って出てきたら「環境別デプロイブランチを追加したGitHub Flowの発展版」と思えればだいたいOK!
📖 おまけ:英語の意味
「GitLab Flow」 = GitLabフロー
💬 GitLabが2014年ごろに提唱したブランチ戦略で、Git FlowとGitHub Flowの欠点を補うために設計されたんだよ
← 用語集にもどる