トランクベース開発

高度な Git

Amanda Crawford-Adamo

Software and Data Engineer

トランクベース開発とは?

  • ソース管理のブランチと CI/CD モデル
  • 開発者は別のリリースブランチへは押し込まない
  • 変更は短命ブランチから main へ
  • 小さく頻繁な更新

main へのコミットとリリースの幹を示すグラフ

高度な Git

トランクベース開発の中核原則

  1. main への高頻度コミット
  2. 短命の機能ブランチ(< 1 日)
  3. 継続的インテグレーション
  4. 未完成作業にフィーチャーフラグ

トランクベースのワークフロー図。短命ブランチは main へのコミット時にフィーチャーフラグのトグルを含む。

高度な Git

TBD におけるフィーチャーフラグ

  • 未完成機能を管理
  • ユーザーへの影響を防止
  • 段階的にリリース

フィーチャーフラグの例

  if feature_flag_enabled('new_feature'):
      # New feature code
  else:
      # Old feature code
高度な Git

TBD における継続的インテグレーション

  • main へのコミットで自動ビルドとテストを起動
  • 保守負荷を削減し、リリースを高速化
  • 常に信頼性と安定性を確保
  • セキュアコードと業界標準への準拠を担保
  • コード品質を維持し、バグリスクを低減
高度な Git

TBD の利点と課題

利点:

  • マージ競合の減少
  • リリースの高速化
  • コード品質の向上
  • コラボレーションの強化

課題:

  • チームの規律が必要
  • 強固なテストが必要
  • 初期の学習コスト
  • 未完成機能の管理
高度な Git

ベストプラクティス

  1. 小さな変更を高頻度でコミット
  2. テストとデプロイを自動化
  3. 未完成作業にフィーチャーフラグを使用
  4. 定期的なコードレビュー
  5. デプロイ後を監視
高度な Git

練習してみましょう!

高度な Git

Preparing Video For Download...