トランクベース開発
トランクベース開発のモデル、短命なブランチ、フィーチャーフラグについて学び、Gitflow に代わる軽量な開発手法を理解します。
「トランクベース開発」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
トランクベース開発とは
トランクベース開発は、すべての開発者が 1 つの共有ブランチ(トランク。通常は main)に小さな変更を非常に頻繁に統合するブランチ戦略です。
長期間存続するブランチよりも、多数の小さなマージを重視します。
長期間存続するブランチを避ける理由
数週間存続するブランチは main から大きくずれ、マージが困難になります。
- ブランチの存続期間が長いほど、競合が増えます
- 統合のリスクが最後まで見えません
- コードレビューの待ち行列が大きくなります
短命のブランチ
トランクベース開発では、ブランチは数時間から 1〜2 日だけ存続し、その後マージされます。ブランチを作成し、対象を絞って作業し、すばやくマージします。
git checkout -b add-login
# small focused change
git commit -m 'Add login button'
git push origin add-loginトランクに直接コミットする
小規模でリスクの低いチームでは、高速な CI ゲートのもとで main に直接コミットすることがあります。すべてのコミットで、トランクをリリース可能な状態に保つ必要があります。
git checkout main
git pull --rebase
git commit -m 'Fix typo in footer'
git pushフィーチャーフラグ
未完成の機能もトランクにマージしますが、準備が整うまではフィーチャーフラグの背後に隠しておきます。これにより、デプロイとリリースを分離できます。
if (featureFlags.newCheckout) {
renderNewCheckout();
} else {
renderOldCheckout();
}継続的インテグレーションは必須
全員が常にトランクへマージするため、すべての push で自動テストを実行し、main をグリーンでデプロイ可能な状態に保つことが不可欠です。
トランクベース開発と Gitflow の比較
Gitflow では、develop、release、feature など、長期間存続する複数のブランチを使います。トランクベース開発では、1 つの main ブランチと短命の小さなブランチを使います。
- トランクベース開発は継続的デリバリーに適しています
- Gitflow はスケジュールに沿ったバージョン付きリリースに適しています
例外としてのリリースブランチ
トランクベース開発のチームでも、バージョンを安定させる目的に限り、短期間のリリースブランチを作成することがあります。そのブランチに修正を cherry-pick します。
git checkout -b release/1.4 mainブランチを同期した状態に保つ
競合を最小限に抑えるため、マージ前に短命のブランチを最新のトランクへ rebase します。
git fetch origin
git rebase origin/mainすばやくマージして戻す
CI が成功したら、短命のブランチをマージして削除します。新しいブランチを作成して、サイクルを再開します。
git checkout main
git merge --no-ff add-login
git branch -d add-loginトランクベース開発を選ぶ場面
頻繁にリリースし、強力な CI があり、マージ地獄を避けたい場合は、トランクベース開発を選びます。継続的デプロイと自然に組み合わせられます。
理解度チェック
トランクベース開発についての理解度を確認します。
まとめ
トランクベースモデルについて学びました。
- 1 つの共有トランクと、多数の短命な小さなブランチを使います
- フィーチャーフラグで未完成の作業を隠します
- 強力な CI によって、トランクを常にリリース可能な状態に保ちます
- Gitflow の長期間存続するブランチとは対照的です
よくある質問
「トランクベース開発」レッスンは無料ですか?
はい。「トランクベース開発」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「トランクベース開発」で何を学びますか?
トランクベース開発のモデル、短命なブランチ、フィーチャーフラグについて学び、Gitflow に代わる軽量な開発手法を理解します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「トランクベース開発」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。