2011-11-10 1 views
0

.NETプロジェクトでは、TeamCityとSubversionを使用してpre-checked buildsを実行しました。あらかじめチェックされたRoRはGitとHudsonでビルドされていますか?

事前チェックビルドに慣れていない人は、コミットすると、チェンジセットをトランクに対してビルドすることが考えられます。

このビルドに合格した場合は、を入力してチェンジセットをトランクに適用します。それが合格しなければ、あなたは通知を受けて、もう一度やり直すことができます。

このように、トランクからのビルドは常に緑色で、チームの他の誰もビルドの破損によって中断されません。

質問:GitとJenkins(a.k.a. Hudson)を使用してRuby on Railsプロジェクトで同様のワークフローを達成した人はいますか?もしそうなら、あなたはいくつかのヒント/ヒント/ドキュメンテーションを共有できますか?

答えて

1

ジェンキンスとジェリーの組み合わせを見てみるといいでしょう。 Gerritは、コミットが承認されない限り、コミットをマスターにプッシュしないように設定できるコードレビューシステムです。 Jenkinsが最初に承認するように設定することができます。

私たちはJenkinsが最初にパッチを構築しようとするC++プロジェクトでこのパッチを使用し始めます。このパッチが成功すると、メインリポジトリにプッシュされます。これはクライアント側でgitを停止させることもありません。

0

本当にこれを行うには、Gitのpre-receiveフックを使用します。優れもの(コードが押されたとき、PHPのテストを実行する)で詳細です:しかし、エントリの最後の文は述べてa blog post on codeutopia.net

それはgitのプッシュは、そのまで延期されることになります完了。 DEVのマシン上のgitが前まで行かせてそこに座って待つとしませんので、それは(10または20分を要したときに、あなたのテストスイートを実行するために数分を要する場合には何の楽しみではない、と真剣に迷惑な

〜受信フックが終了)。

ビルドが失敗したときに失敗したコミットを元に戻すために、何らかの種類のHudsonスクリプトを書くことができます。元チームはそのようなアイデアを実験しましたが、それを実装しませんでした。

関連する問題