2012-04-06 5 views
0

私はこれを見つけました:Plugin to commit hudson build artifactしかし、設定のすべての組み合わせを試して〜5-6時間後、私は正常にhttpsのsvnにコミットすることができませんでした。ハドソンビルド後にSVNを倒すことを約束しますか?

私はバッチファイルでこれを行うことを検討していますが、パスワードを隠すことができるかどうかは考えていません。そうでなければ、実際にはオプションでもありません。

これを成功させる人は誰ですか?いくつかのアドバイスを使用することができます..ありがとう。

答えて

0

バッチスクリプトを使用してターゲットフォルダをチェックアウトし、そのフォルダにファイルをコピーし、SVNに追加した後、ファイルをコミットしました。唯一の欠点は資格情報を提供していたことです私の解決策は、Hudsonが実行していたマシンにログインして手動で一度だけコミットすることでした。これにより、ビルドサーバーで暗号化された「ログイン情報を保存する」ことができました。理想的には、この手順を実行するには限定アクセスアカウントを使用する必要があります。

0

主な問題は、Tortoiseには「本当の」SVNコマンドラインクライアントが付属していないことです。コマンドラインはほとんどコミットできません。代わりにウィンドウが開き、詳細情報が表示されます。

Maven release pluginを見ましたか? SVNコマンドライン(Tortoiseではなく)で使用します。 Maven passwordsを暗号化できます。私はこれらをNexusにうまく使っていますが、私はまだそれらを使ってSVNにアクセスしようとしていません。

0

私はSubversionのビルドされたファイルをSubversionリポジトリにコミットしません。それはただのトラブルを求めているだけです。 Subversionに何かをコミットすると、それは永遠にそこにとどまります。不要な情報は決して削除することはできません。

テキストファイルの変更は非常にうまくいかないのであまり悪くないし、Subversionは各リビジョンをdiff形式で保存している。しかし、バイナリファイルはそれほど良くはありません。バイナリ出力のサイズが500 Mbの場合、各コミットによってSubversionリポジトリに500 Mbが追加されます。ハドソンでこれを行い、各ビルドの後にこれを行い、1年足らずで何百ギガバイトものデータを扱っています。そのほとんどは、必要のないコードの古いバージョンです。

ハドソン自身でビルドを保存します。ビルドプロセスのステップの1つは、アーティファクトをアーカイブすることです。私は単に自分のビルドファイルを使って、私がtarget/archiveディレクトリに保存したいすべての成果物をコピーし、ハドソンにそれを保存させるだけです。

我々はに削除古いがを構築ハドソンジョブを定義しますが、空白を維持するためにと最大を維持するために日のまま。代わりに、Advanceボタンをクリックし、のアーティファクトを保持する時間を指定します。こうすることで、ビルドを削除することはありませんが、ハドソンサーバーに十分なスペースを確保します。

特定のビルドではをクリックすることができます。このビルドは永遠ににしておくと、削除する代わりにアーティファクトを保存します。これにより、リリースされたアーティファクトはそのまま残しておくことができます。

アーチファクトを取得して展開するには、wgetまたはcurlを使用することもできます。これは、展開スクリプトで行います。

もしあなたが好きではない人なら、ビルド成果物をMavenリポジトリに入れてください。ビルドプロセスにMavenを使用しない場合でも、これを行うことができます。ここでもアーティファクトは保存されますが、保持したくないアイテムは削除したりトリミングしたりすることができます。

あなたは本当に、本当にSubversionのでビルド成果物を保存したい場合は、あなたがbatchファイルでやったことを行うには、それを行うにはsvn cosvn commit -m"Some sort of message %BUILD_NUMBER%"コマンドを使用することができます。しかし、何かがあなたのSubversionリポジトリに入ったら、それを削除することは非常に難しいです。ディスクスペースの塊を燃やす準備ができている。

0

configureの下の 'Execute shell'に次のスクリプトを追加してみてください。

 

echo "Committing build.number file to SVN.." 
cd $APPROPRIATE_PATH 

svn commit -m "some svn commit comment" MyApp/etc/build/build.number 

echo "Build file committed " 

関連する問題