現在、約 12 名の開発者からなるチームで Gerrit を使用しています。
これが現在のワークフローです:
1. 開発者は master からブランチします
2. 開発者はローカル ブランチで作業し
ます 3. 開発者は gerrit にプッシュします。4. Gerrit
は Jenkins を呼び出し、変更セットに対して単体テスト (および Selenium テスト) を実行します。失敗した場合、コミットは開発者にキックバックされます。それ以外の場合、Jenkins はコミットを +1 します。
5. レビュアーがコミットを見て +1 する
6. 上級レビュアーがコミットを見て +2 すると、変更セットが refs/head/master (つまり、実際のブランチ) にマージされる
私たちはこのワークフローが気に入っています。それは素晴らしい。それは私たちの開発に素晴らしいプロセスと規律をもたらし、以前は見過ごされ無視されていたコードレビューのボトルネックからやるべきことのリストを作成し、誰もがそれを喜んでいます.
× - インターミッション - ×
現在、タスク管理を Jira に移行しようとしています。コードレビューをシバン全体の一部にするのは自然な統合のように思えたので、セットアップ中に Crucible もセットアップしました。私ができないのは、私たちが愛するようになった上記のワークフローを再現することです. Jira/Crucible の統合により、すべてのリポジトリをゲートキーピングする必要がなくなったため (そして Atlassian の Stash にお金を払いたくないので)、コードを Bitbucket にプッシュすることになります。悪いコードは「ゲートキープ」されなくなり、テストやコードレビューに合格する前に開発者によってマスターにマージされるため、マスターで直接作業することはできなくなりました。master ブランチから除外する唯一の解決策は、フォークのようです。わかりました、それは面倒ですが、私はそれで転がることができました. しかし、どうすれば開発者からコミットを取得できますか ' コードレビューを通過した後、フォークはマスターブランチにマージされますか? それは、少しでも似たようなことをした人、または私の状況でそれを達成する方法を知っている人から聞きたいことです.
これらすべてに代わる方法は、 https://github.com/hobbs/jirretを使用して Jira と Gerrit の統合を試みることですが、これはJira がまだサポートしているが開発を行わない XML RPC を使用します。