2009-07-24 4 views
1
CruiseControl.rbが、それはプロジェクト内で「クルーズ」と呼ばれるrakeタスクを探し、それを実行し、統合テストを実行したい

として現在のリビジョンとクルーズrakeタスクを実行しています。CruiseControl.rb:パラメータ

現在のリビジョン番号をそのタスクに引き継ぐ方法はありますか? 私は、統合テストの後、リモートマシンにcapistranoを使用してアプリケーションを導入しています。 ...特別な改正が渡されない場合カピストラーノはHEADリビジョンを展開します、私はcc.rbの最後にチェックリビジョンを使用することを教えしたいと思いますので

任意のアイデア?チェックアウトを含むディレクトリ内

答えて

1

rake cruise実行されます。ソースコントロールがgitの場合、リビジョンの抽出は簡単です。

IO.popen('git log -1|grep -i \'^commit\ \'').read.split[1] 

クルーズは、あなたが、ない頭を構築することが求められリビジョンと一致して、チェックアウトで実行されているので、改訂報告購入gitのログが正確でなければなりません。

幸運を祈る!

0

mixonicが掲載答えは問題ないはずですが、あなたはSubversionを使用する場合は、代わりに、リビジョン番号を取得するにはsvnversionコマンドを実行する必要があります。

2

あなたはCC.rbの改正が必要な場合には、このようにそれを行うことができます。

desc 'Cruise' 
task :curise do 
    puts "Building revision #{ENV['CC_BUILD_REVISION']} from #{File.dirname(__FILE__)}" 
end