私はこれを見つけました: Hudson ビルド アーティファクトをコミットするためのプラグインですが、考えられるすべての設定の組み合わせを 5 ~ 6 時間試した後、https の svn に正常にコミットできませんでした。
バッチファイルを使用してこれを行うことを検討していますが、パスワードを隠すことができるかどうかはわかりません...そうでない場合、これも実際にはオプションではありません.
誰かがこれを成功させていますか?いくつかのアドバイスを使用できます..ありがとう。
私はこれを見つけました: Hudson ビルド アーティファクトをコミットするためのプラグインですが、考えられるすべての設定の組み合わせを 5 ~ 6 時間試した後、https の svn に正常にコミットできませんでした。
バッチファイルを使用してこれを行うことを検討していますが、パスワードを隠すことができるかどうかはわかりません...そうでない場合、これも実際にはオプションではありません.
誰かがこれを成功させていますか?いくつかのアドバイスを使用できます..ありがとう。
最終的には、バッチ スクリプトを使用してターゲット フォルダーをチェックアウトし、ファイルをそのフォルダーにコピーし、SVN に追加してから、ファイルをコミットしました。唯一の問題は、資格情報の提供でした。私の解決策は、Hudson が実行されているマシンにログインし、手動で 1 回コミットすることでした。これにより、ビルド サーバーで暗号化された「ログイン情報を保存」することができました。この手順を実行するには、アクセスが制限されたアカウントを使用するのが理想的です。
主な問題は、Tortoise には「本物の」SVN コマンド ライン クライアントが付属していないことです。コマンド ラインはかろうじてコミットできます。代わりに、ウィンドウを開いて詳細情報の入力を求めます。
Maven リリース プラグインを見たことがありますか? SVNコマンドラインで使用します(Tortoiseではありません)。Maven パスワードを暗号化できます。これらをNexusで正常に使用しましたが、SVNへのアクセスにまだ使用していません。
Subversion でビルドしたファイルを Subversion リポジトリにコミットし直すつもりはありません。それはただトラブルを求めているだけです。Subversion に何かをコミットすると、それは永久にそこに残ります。古い情報を削除することはできません。
テキスト ファイルの変更はそれほど悪くはありません。なぜなら、それらは非常にうまく差分を取り、Subversion は各リビジョンを差分形式で保存するからです。ただし、バイナリ ファイルの差分はそれほどうまくいきません。バイナリ出力のサイズが 500 Mb の場合、コミットごとに Subversion リポジトリに 500 Mb が追加されます。Hudson でこれを行い、各ビルドの後にこれを行うと、1 年足らずで数百ギガバイトのデータについて話していることになります。そのほとんどは、単に必要のない古いバージョンのコードになります。 .
Hudson 自体を使用して、ビルドを保存します。ビルド プロセスの手順の 1 つは、アーティファクトをアーカイブすることです。ビルド ファイルを使用して、保存したいすべての成果物をディレクトリにコピーし、target/archive
Hudson に保存させます。
Hudson ジョブをDelete Old Buildsに定義しますが、Days to KeepとMaximum to Keep は空白のままにします。代わりに、AdvanceボタンをクリックしてArtifactsを保持する期間を指定します。このようにして、ビルドを削除することはありませんが、Hudson サーバーに十分なスペースを確保します。
特定のビルドで、[このビルドを永久に保持する] をクリックすると、アーティファクトが削除される代わりに保存されます。これにより、リリースされたアーティファクトを保持できますが、不要になった毎日のビルドは削除されます。
wget
またはを使用curl
してアーティファクトを取得し、デプロイすることもできます。これは、デプロイ スクリプトで行います。
より洗練されたものにしたい場合は (そうでない人はいないでしょう)、ビルド成果物を Maven リポジトリーに配置してください。ビルド プロセスに Maven を使用しない場合でも、これを行うことができます。繰り返しますが、これはアーティファクトを保存しますが、保持したくないものを削除してトリミングすることができます。
ビルド アーティファクトを本当に Subversion に保存したい場合は、batch
ファイルに対して行った操作を実行し、コマンドsvn co
とsvn commit -m"Some sort of message %BUILD_NUMBER%"
コマンドを使用してそれを実行できます。ただし、Subversion リポジトリに何かがあると、それを削除するのは非常に困難です。ディスクスペースのゴブを使い果たす準備をしてください。