.NET プロジェクトを Jenkins および SVN と統合し (現在 git に切り替える機会があるかどうかはわかりません)、ビルド後および本番前にコードをレビューできるようにするための最良の方法は何ですか?
私はこのようなものが欲しいです:
- 開発者がリポジトリをチェックアウトします。
- 開発者は何かを実装します。
- 開発者は変更をリポジトリ A (SVN) にコミットします
- Jenkins はリポジトリ A (SVN) を監視します
- Jenkins がビルドを開始します。
- Jenkins が単体テストを開始します。
- 全て大丈夫。
- Jenkins が変更をリポジトリ B にコミットします (リポジトリのレビュー)。
- QA 担当者がコードをレビューします。
- QA 担当者が変更をリポジトリ C (本番) にコミットします
6a. すべてがOKというわけではありません。6b. Jenkins は、開発者のコミットがビルドを壊したという通知を開発者に送信し、ステップ 2 に戻ります。
手順 1 ~ 6 の実行方法を知っています。多かれ少なかれ。MSBuild ですべてをビルドできることはわかっているので、これは難しいことではありませんが、手順 6 ~ 9 を構成する方法が正確にはわかりません。
ギット:
git を使用すると、はるかに簡単になると思います。ビルド後のアクションに Git Publisher があり、変更をブランチ (「review-branch」など) にプッシュして、レビュアーに通知を送信できることがわかりました。彼らはリポジトリをプルし、すべてが素晴らしいでしょう. うーん、レビュー ブランチにプッシュする代わりに、Jenkins はそのブランチにプル リクエストを作成する必要があります。しかし、私が言ったように、それは git のシナリオになります。私にとってはgitの方が良いオプションですが、おそらく不可能なので、ここに書きました。git について話している場合、何かが欠けていないかどうか知りたいだけです。
SVN:
ここでは、それを行う方法がわかりません。Jenkinsには、2番目のSVNリポジトリへの「プッシュ」を処理するための組み込み機能がありますか? コードをリポジトリ B にコミットするにはどうすればよいですか?
レビュー: 最良のアプローチは何ですか? - (GIT) Jenkins はプル リクエストを作成します -- 可能であれば - (GIT) Jenkins は 2 番目のレビュー ブランチにプッシュし、電子メールで通知を送信するか、課題トラッカー (Redmine/Jira) でいくつかのチケットを作成します - (SVN) Jenkins はレビュー リポジトリにコミットします電子メールを送信するか、チケットを作成します。- または、すべてを ReviewBoard/Gerrit などと統合する方がよいかもしれません。現在、私はそのようなソフトウェアを使用したことがなく、Gerrit は少し面倒だと読みました。