カスタムツールとドッグフーディング
Developer Experience のカスタムツールとドッグフーディングのプラクティス
GitLab はドッグフーディングを広範に実践しています。Developer Experience ステージは GitLab の機能ギャップを埋えるためにカスタムツールを構築し、内部ニーズと製品開発の間に貴重なフィードバックループを生み出しています。
カスタムデータ ↔ カスタムツールループ
長年にわたり、GitLab の不足した機能に対してカスタムツールを構築してきました(triage-ops、テストヘルス管理、CI 観測可能性、ジョブ内メトリクス)。このカスタムツールは GitLab の本番データベースには含まれないカスタムデータを生成します。
カスタムツールを製品機能として統合することで、以下を達成します:
- 顧客にメリットをもたらす機能(カスタマーゼロとして役立てば、他の人にも役立つ可能性が高い)
- カスタムデータが製品データになり、可視化でデフォルトで利用可能
- カスタムソリューションの維持に伴う技術的負債の削減
- すべての改善が顧客と内部チームの両方にメリットをもたらす
現在のカスタムツール
CI/CD パイプライン観測可能性
トリアージと Issue 管理の自動化
| ツール | 目的 | リポジトリ | ステータス | 製品としての可能性 |
|---|
| Triage Ops (Reactive) | カスタムポリシーとリアクティブエンジンを使用したリアルタイムの自動化された Issue と MR トリアージ | triage-ops | アクティブ | 高 — 高度なリアルタイムトリアージ自動化 |
| Triage Ops (Scheduled) | 週次チームレポートとバッチ処理を含むスケジュールされたトリアージ操作 | triage-ops | アクティブ | 高 — 多くの顧客にメリットをもたらす可能性(例: 週次チームレポート) |
レビューとコード品質ツール
| ツール | 目的 | リポジトリ | ステータス | 製品としての可能性 |
|---|
| GitLab Roulette | ドメインの専門知識、可用性、ワークロードを考慮したインテリジェントなレビュアー割り当てシステム | gitlab-roulette | アクティブ | 高 — コア開発者ワークフローの改善 |
| GitLab Danger Files | 標準化された CI ベースのコードレビュー自動化とポリシー適用 | gitlab-dangerfiles | アクティブ | 高 — 高度なマージリクエスト自動化を実証 |
| Renovate Bot | GitLab プロジェクト全体の自動化された依存関係管理 | renovate-gitlab-bot | アクティブ | 高 — 複数のチームが類似のソリューションを構築、明確な製品ニーズ |
テストヘルスと品質管理
インシデントとプロセス管理
| ツール | 目的 | リポジトリ | ステータス | 製品としての可能性 |
|---|
| Main Branch Broken Process | 自動化された特定、インシデント管理、レスポンス、リバート MR 処理 | broken main branch workflow | アクティブ | 高 — 安定したメインブランチを維持するための重要なワークフロー |
データと分析インフラ