25

現在、FTP を使用して、ビルド アーティファクトの配布とサード パーティ製品を維持しています (内部使用のみ)。

成果物は、ドキュメント (HTML/pdf/chm/...)、ライブラリ (.dll/.so/.a/.jar/...)、プログラム (.exe/.jar/...) などです。これらは Java/.NET に限定されず、さまざまなカルチャ (ファームウェア、ドライバー、モバイル/ワークステーション、GUI、Win/Linux/Mac/Solaris/AIX など) に由来する可能性があります。

階層を編成するには、次のようなパスを使用します。

ftp://3pp/VENDOR/PRODUCT/VERSION/...
ftp://3pp/opensource/PACKAGE-xxxtar.bz2
ftp://dist/PRODUCT/VERSION/...

アーティファクトの説明を維持するために、READMEおよびCHANGESプレーン テスト ファイル (reStructuredText) を使用します。

このスキーマには何が欠けていますか?

  • 権限がありません (誰でもストレージを破損する可能性があります)。
  • 依存関係の追跡がありません (そのため、バージョンの依存関係が変更された場合は、すべてのビルド ファイルを更新する必要があります)。
  • フェッチ アクティビティの欠落 (一部のファイルは不要になったようですが、どのファイルかはわかりません)。

私は既存のソリューションを深く探しているわけではありません。rpm/dpkg のような一部のパッケージ マネージャー、Maven リポジトリなどについて聞いた...

Build Artifact Repository Managers を推奨してください。また、デメリットや制限事項なども聞けて良かったです。

アップデート

4

2 に答える 2

49

カスタム ソフトウェア アーティファクト リポジトリを作成しています。すでにこれを行っている 3 つのオープンソース プロジェクトがあります。

Artifactory と Nexus には有料版もあります。

これらのリポジトリにはあらゆる種類のファイルを格納でき、Maven を使用する必要はありません。それらにアーティファクトを手動でデプロイできます。きめ細かなアクセス制御を設定できます。それらは、自動化されたビルド ツールとうまく統合されます。

これらのツールのいずれかを使用すると、多くの労力を節約できると思います!

これは、3 つの間の偏りのない (コミュニティ主導の) 比較マトリックスです。

于 2012-07-11T17:00:05.473 に答える
0

SVN + Apache (mod_dav_svn.so、mod_authz_svn.so) を使用すると、次のようになります。

  • HTTP プロトコルを介した匿名の読み取り専用アクセスと、ダウンロード用にサポートされている幅広いクライアント (GNU Make の wget/curl、Apache Ant のタスク)。
  • ユーザー/グループの簡単な保守可能な書き込みアクセス (簡単な構文):

    [リポジトリ:/パス]
    ユーザー = RW
    

    死体ユーティリティを通じて。

  • LDAP との統合。

  • リリースの履歴 (いつ、何を、誰が)。
  • アトミック操作 (同時リリースを防止し、エラー時にロールバックします)。
于 2011-11-22T09:41:03.230 に答える