カスタムツールとドッグフーディング

Developer Experience のカスタムツールとドッグフーディングのプラクティス

GitLab はドッグフーディングを広範に実践しています。Developer Experience ステージは GitLab の機能ギャップを埋えるためにカスタムツールを構築し、内部ニーズと製品開発の間に貴重なフィードバックループを生み出しています。

カスタムデータ ↔ カスタムツールループ

長年にわたり、GitLab の不足した機能に対してカスタムツールを構築してきました(triage-ops、テストヘルス管理、CI 観測可能性、ジョブ内メトリクス)。このカスタムツールは GitLab の本番データベースには含まれないカスタムデータを生成します。

カスタムツールを製品機能として統合することで、以下を達成します:

  • 顧客にメリットをもたらす機能(カスタマーゼロとして役立てば、他の人にも役立つ可能性が高い)
  • カスタムデータが製品データになり、可視化でデフォルトで利用可能
  • カスタムソリューションの維持に伴う技術的負債の削減
  • すべての改善が顧客と内部チームの両方にメリットをもたらす

現在のカスタムツール

CI/CD パイプライン観測可能性

ツール目的リポジトリステータス製品としての可能性
CI Alertsパイプラインの失敗とパフォーマンス問題のリアルタイムアラートci-alertsアクティブ高 — ネイティブパイプラインアラートになる可能性
CI/CD Pipelines Observabilityパイプラインビジュアライザー、失敗の分類、カスタムメトリクスのための CI ログスクレイピング、テストをファーストクラスの市民として扱い、ランナーの改善を必要とする包括的な分析Epic #22Pipeline Visualizer製品に追加するための IssueFailure Categoriesアクティブ高 — ランナーエピックと製品のネイティブテスト概念が必要
Snowflake ObservabilityGitLab.com の運用とパフォーマンスのカスタムダッシュボードと分析snowflake-dashboard-sqlアクティブ高 — 製品に直接統合できる可能性

トリアージと Issue 管理の自動化

ツール目的リポジトリステータス製品としての可能性
Triage Ops (Reactive)カスタムポリシーとリアクティブエンジンを使用したリアルタイムの自動化された Issue と MR トリアージtriage-opsアクティブ高 — 高度なリアルタイムトリアージ自動化
Triage Ops (Scheduled)週次チームレポートとバッチ処理を含むスケジュールされたトリアージ操作triage-opsアクティブ高 — 多くの顧客にメリットをもたらす可能性(例: 週次チームレポート)

レビューとコード品質ツール

ツール目的リポジトリステータス製品としての可能性
GitLab Rouletteドメインの専門知識、可用性、ワークロードを考慮したインテリジェントなレビュアー割り当てシステムgitlab-rouletteアクティブ高 — コア開発者ワークフローの改善
GitLab Danger Files標準化された CI ベースのコードレビュー自動化とポリシー適用gitlab-dangerfilesアクティブ高 — 高度なマージリクエスト自動化を実証
Renovate BotGitLab プロジェクト全体の自動化された依存関係管理renovate-gitlab-botアクティブ高 — 複数のチームが類似のソリューションを構築、明確な製品ニーズ

テストヘルスと品質管理

ツール目的リポジトリステータス製品としての可能性
Flaky Tests Managementジョブアーティファクトからの RSpec レポート解析、自動化されたテスト動作分析、テストヘルス追跡のための GitLab Issue 作成、GCS/Snowflake へのデータパイプラインgitlab_quality-test_toolingアクティブ高 — 製品にネイティブテスト結果の概念がない
Slow Tests Managementテストパフォーマンスインサイトのためのカスタムフロントエンド/バックエンドを使用した RSpec プロファイリングと分析RSpec profiling statsgitlab_quality-test_toolingアクティブ中 — 構築済みだがチームの採用/反応が限定的

インシデントとプロセス管理

ツール目的リポジトリステータス製品としての可能性
Main Branch Broken Process自動化された特定、インシデント管理、レスポンス、リバート MR 処理broken main branch workflowアクティブ高 — 安定したメインブランチを維持するための重要なワークフロー

データと分析インフラ

ツール目的リポジトリステータス製品としての可能性
Data PipelinesSnowflake ダッシュボードと分析にフィードするカスタムデータ処理パイプラインtest_tooling project、各種 GCS バケット、internal eventsSnowflake SQL queriesalertingアクティブ中 — 製品に直接統合できる可能性