web-dev-qa-db-ja.com

ビルドアーティファクトリポジトリマネージャーを推奨

現在、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 [〜#〜]および[〜#〜 ]変更[〜#〜]プレーンテストファイル(reStructuredText)。

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

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

私は既存の解決策を深く探していません。 rpm/dpkgのような一部のパッケージマネージャー、Mavenリポジトリなどについて聞いた...

ビルドアーティファクトリポジトリマネージャーをお勧めします。また、欠点や制限を聞くのも良いことです。

[〜#〜]更新[〜#〜]

25
gavenkoa

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

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

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

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

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

48
M. Dudley

SVN + Apache(mod_dav_svn.so、mod_authz_svn.so)では、次のようになります:

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

     [repo:/ path] 
     user = rw 
    

    死体ユーティリティを介して。

  • LDAPとの統合。

  • リリースの履歴(いつ、何を、誰が)。
  • アトミック操作(同時リリースの防止とエラー時のロールバック)。
0
gavenkoa