3

Mercurial を使用して管理され、Jenkins で構築された Java プロジェクトがあります。開発者がビルドを壊すコードをチェックインできないようにする方法はありますか? Ant と Mercurial のフックでできることはわかっていますが、Jenkins でそれを行う方法はありますか?

4

3 に答える 3

9

これは、他の投稿のアイデアを説明するためにまとめた図です。

2段階のソースコミット

于 2011-09-11T21:46:53.523 に答える
8

開発者にリポジトリからプルさせ(「マスター」という名前を付けましょう)、別のリポジトリにプッシュします(「ステージング」という名前を付けましょう)。default-push(のシンプルな場所で簡単に.hgrc

Jenkinsはステージングからプルし、ビルドが成功した場合はマスターにプッシュします。それ以外の場合は、Jenkinのリポジトリコピーを元に戻します。

ジェンキンスだけがマスターにプッシュできるはずです。

于 2011-09-11T21:26:34.330 に答える
3

Jenkins の経験はありませんが、Mercurial の強みを利用した KISS ソリューションは次のようになります。

  • マスターリポジトリのクローン
  • 変更を開発者のマシンからクローンにプルする
  • クローンでビルドを実行する
  • ビルドが成功した場合はクローンからマスターにプッシュし、失敗した場合はクローンを削除して開発者に通知します
于 2011-09-11T15:16:12.950 に答える