私はSubversionのビルドされたファイルをSubversionリポジトリにコミットしません。それはただのトラブルを求めているだけです。 Subversionに何かをコミットすると、それは永遠にそこにとどまります。不要な情報は決して削除することはできません。
テキストファイルの変更は非常にうまくいかないのであまり悪くないし、Subversionは各リビジョンをdiff形式で保存している。しかし、バイナリファイルはそれほど良くはありません。バイナリ出力のサイズが500 Mbの場合、各コミットによってSubversionリポジトリに500 Mbが追加されます。ハドソンでこれを行い、各ビルドの後にこれを行い、1年足らずで何百ギガバイトものデータを扱っています。そのほとんどは、必要のないコードの古いバージョンです。
ハドソン自身でビルドを保存します。ビルドプロセスのステップの1つは、アーティファクトをアーカイブすることです。私は単に自分のビルドファイルを使って、私がtarget/archive
ディレクトリに保存したいすべての成果物をコピーし、ハドソンにそれを保存させるだけです。
我々はに削除古いがを構築ハドソンジョブを定義しますが、空白を維持するためにと最大を維持するために日のまま。代わりに、Advanceボタンをクリックし、のアーティファクトを保持する時間を指定します。こうすることで、ビルドを削除することはありませんが、ハドソンサーバーに十分なスペースを確保します。
特定のビルドではをクリックすることができます。このビルドは永遠ににしておくと、削除する代わりにアーティファクトを保存します。これにより、リリースされたアーティファクトはそのまま残しておくことができます。
アーチファクトを取得して展開するには、wget
またはcurl
を使用することもできます。これは、展開スクリプトで行います。
もしあなたが好きではない人なら、ビルド成果物をMavenリポジトリに入れてください。ビルドプロセスにMavenを使用しない場合でも、これを行うことができます。ここでもアーティファクトは保存されますが、保持したくないアイテムは削除したりトリミングしたりすることができます。
あなたは本当に、本当にSubversionのでビルド成果物を保存したい場合は、あなたがbatch
ファイルでやったことを行うには、それを行うにはsvn co
とsvn commit -m"Some sort of message %BUILD_NUMBER%"
コマンドを使用することができます。しかし、何かがあなたのSubversionリポジトリに入ったら、それを削除することは非常に難しいです。ディスクスペースの塊を燃やす準備ができている。