私は最近、Git バージョン管理システムを使用するプロジェクトのオンライン コード レビューを容易にする Gerrit コード レビュー ツールに出会いました。Clearcase/subversion などの他のリポジトリにも同様のものが存在するかどうか疑問に思っています。
Gerrit を知らない人のために説明します。
Gerritゲート コード チェックイン。開発者が変更をプッシュすると、Gerrit のコード レビュー キューに入ります。レビューとテストが完了するまで、変更をマスター ブランチにマージすることはできません。
コードレビューは人間が行います。Jenkins は、ビルドと単体テストを担当します。
したがって、次のようになります。
- 開発者が変更を Gerrit にプッシュします。レビューキューに入ります。
- レビュー担当者は、レビュー待ちの変更があるという通知を受け取ります。
Jenkins にも通知が届きます。Jenkins は変更を取得し、11 のプラットフォームすべてに対してビルド テストを実行します。また、静的解析チェック、スタイル チェックなども実行できます。
a. ビルドまたはテストが失敗した場合、Jenkins は Gerrit レビューで変更を「テスト失敗」とマークします。
b. すべてのビルドとテストに合格すると、Jenkins は変更を「テスト合格」とマークします。- コード レビューに合格し、テストに合格した場合、変更はメイン ブランチにマージされる可能性があります。
- レビューまたはテストが失敗した場合、コミットはマージできません。開発者は、Jenkins を満足させるために修正する必要があります。
Jenksins CI サーバーは積極的なレビュー参加者です。おまけに、レビュアーは通常、コードをレビューする前に Jenkins の結果を見ることができます。変更がテストに失敗した場合、レビュアーはこの変更で時間を無駄にする必要はありません。
そのため、メイン ブランチは常に正常にビルドされます。優秀じゃないですか!
Clearcase に似たものを探しています。すでに Clearcase の継続的な統合ビルド環境を持っていますが、それに Gerrit の機能をプラグインしたいと考えています。もう 1 つの可能性は、Clearcase で Gerrit を使用することですが、そのためのポインターを取得できませんでした。