2011-08-18 11 views
16

現在、私たちはビルド成果物配布およびサードパーティ製品(内部使用のみ)を維持するためにFTPを使用しています。Build Artifact Repository Manager

アーティファクトはdocs(HTML/pdf/chm/...)、libs(.dll/.so/.a/.jar/...)、プログラム(.exe/.jar/...)他の何か。 Java/.NETに限らず、異なる文化(ファームウェア、ドライバ、モバイル/ワークステーション、GUI、Win/Linux/Mac/Solaris/AIXなど)から来ることができます。我々はREADMEプレーンなテストファイル(reStructuredTextのを)変更を使用して成果物の記述を維持するために

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

:私たちは、このようなパスを使用hierarhy orginizeし

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

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

私は深く既存のソリューションを探していません。 rpm/dpkgのようなパッケージマネージャー、Mavenレポなどについて聞いたことがあります。

Build Artifact Repository Managerをお勧めします。また、欠点や制約を聴くことは良いことです。

UPDATE

答えて

39

カスタムソフトウェアアーティファクトリポジトリを作成しています。

Artifactoryとネクサスも支払ったバージョン:すでにこれを行う3つのオープンソースプロジェクトがあります。

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

私はこれらのツールの1つを使用すると多くの労力を節約できると思います!

Hereの3者間の公平な(コミュニティ主導の)比較マトリックス。

+1

** Apache Archiva **はJavaの世界にのみ関連しています... – gavenkoa

+1

このツールはJavaビルドツールにのみ** **統合されています... – gavenkoa

+20

絶対に真実ではありません。任意のタイプのソフトウェア成果物をこれらのリポジトリに格納することができます。 Javaには成熟したツールがあるかもしれませんが、これらのリポジトリを他のテクノロジで使用できないような制限はありません。 Sonatypeのリポジトリ管理に関する書籍を見て、アーティファクトリポジトリの仕組みやワークフローへの統合方法を理解してください。 http://www.sonatype.com/books/nexus-book –

0

SVN +アパッチ(mod_dav_svn.so、mod_authz_svn.so)で私が手に思える:

  • 匿名読み取り専用ワイドrのHTTPプロトコルによるアクセス サポートされているクライアントをダウンロードしてください(GNU Makeのwget/curl、 Apache Antのタスク)。
  • ユーザー/グループ(簡単な構文)のために簡単に保守書き込みアクセス:死体ユーティリティを使用して

     
    [repo:/path] 
    user = rw 
    

  • LDAPとの統合。

  • リリースの歴史(when、what、who)。
  • アトミック操作(同時リリースおよびエラー時のロールバックを防止)。