5

SVN を使用してビルド アーティフィケーション (大きなバイナリ ファイル) を保存すること の欠点(特にこれ)について読みました。ハドソンが代替案として提案されました。

Hudson はこれらのファイルをどのように処理しますか?

編集:私のプロジェクトは Java ベースではありません。

4

3 に答える 3

4

Hudson can create/keep an archive of build artifacts, and provides a nice browser view for inspecting them.

You need to enable Archive the Artifacts in the job definition.

于 2011-02-23T00:34:39.200 に答える
2

Hudson は基本的にフラット ファイル ストレージを使用しています。これらのファイルは、Hudson 内の jobs/builds/ フォルダーにあります。「ファイルをソース管理にチェックインする代わりに Hudson を使用してください」と言うかどうかはわかりませんが、代わりに何かを使用することは、以下を提供する場合に適しています。

  1. 信頼できる保管場所
  2. バージョン管理されたバイナリ アクセス制御
  3. 改ざん防止のためのチェックサム
  4. リリースメタデータ(環境情報、承認レベル)
  5. 保持期間

ハドソンがそれらの点でどれだけ良い点を取っているかはわかりませんが、少なくともそのいくつかはうまくいっていると思います. SVN もソリューションとしては悪くありませんが、保持期間に苦労し (古いビルドはディスク容量を狂ったように消費する傾向があります)、大きなバイナリに対してあまり最適化されていません。ほとんどの SCM システムは小さなテキスト ファイル用に最適化されています。

このプレゼンテーションから上記のリストを盗みました: http://www.anthillpro.com/html/resources/webinars/Role_of_Binary_repositories_in_Software_Configuration_Management.html (登録が必要です)

于 2011-02-23T01:57:57.020 に答える
1

ビルドには Jenkins を使用しますが、ビルドのアーティファクトも保存します。上で Eric が言ったように、Hudson/Jenkins はフラット ファイル ストレージを使用して artficat を保存します。ビルドに基づいて編成されています。

使用中に気付いたいくつかのこと (バイナリのソース管理の代替案に関する Eric の質問への回答として):

  • 各ビルドには独自のアーティファクトが保存されるため、ある種のバージョン管理が行われます。
  • アーカイブ時にフィンガープリント オプションを使用できます。これにより、バージョンを区別し、破損をチェックすることもできます。
  • 保持期間は完全にあなた次第です。私たちはアーティファクトを永久に保管します。

参考までに、私たちのプロジェクトは Java ではなく (C/C++)、アーティファクトは tar.gz/zip ファイルとドキュメントです。

バイナリを保存するのに最適な方法である場合とそうでない場合がありますが、定期的なバックアップ (この場合は毎週) があり、ディスクがフォールト トレラントである限り、間違いなく適切です。

于 2011-03-02T21:16:47.477 に答える