8

CI ツールを調査しているときに、CI の多くのインストールが SonaType Nexus や JFrog Artifactory などのアーティファクト リポジトリにも統合されていることがわかりました。

これらのツールは、Maven に高度に統合されているように思えます。Maven は使用せず、Java もコンパイルしません。Qt/qmake/make を使用して C++ をコンパイルすると、このビルドは非常にうまく機能します。CIツールについては調査中です。

Artifact リポジトリを使用するポイントは何ですか?

Nexus または Artifactory (または Archiva) へのアーカイブは、make チェーンまたは CI チェーンの一部であると想定されていますか?

「make」ビルドまたは perl/bash/batch スクリプトをそれらと対話させるにはどうすればよいですか?

4

2 に答える 2

12

アーティファクト リポジトリにはいくつかの目的があります。主な目的は、Maven Central (またはその他の Maven リポジトリ) のコピーを用意して、ダウンロード時間を短縮し、インターネットがダウンしていても Maven を使用できるようにすることです。あなたはMavenを使用していないので、これはあなたには関係ありません。

2 番目の目的は、依存関係として使用したいファイルを格納することですが、インターネットから自由にダウンロードすることはできません。したがって、それらを購入するか、ベンダーから取得して、レポに入れます。これは、maven ユーザーと依存関係メカニズムにもより当てはまります。

3 つ目の重要な目的は、リリースを保存できる中心的な方法を用意することです。そのため、リリース v1.0 をビルドすると、そのようなリポジトリにアップロードでき、maven でのクリーンな命名方法により、v1.0 を見つけて他のすべてのツールで使用する方法を簡単に知ることができます。したがって、wget を使用してリリースをダウンロードし、ホストにインストールするスクリプトを作成できます。

ほとんどの場合、これらのリポジトリにはステージング プロセスの方法があります。したがって、v1.0 をステージングのリポジトリに格納できます。誰かがテストを行い、問題がなければ、誰もがそれを見つけて使用できるようにリリースレポに昇格させます。

それらをMavenプロジェクトと統合するのは簡単で、他の多くのビルドツールフレームワークであり、アリアイビー、グルービーグレープなどのように簡単に接続できます。命名スキーマのため、bash または perl を使用してファイルをダウンロード/アップロードすることに制限はありません。

したがって、プロジェクト間で共有する必要があるリリースまたはファイルがあり、それに対する適切な解決策がない場合、アーティファクト リポジトリは、これがどのように機能するかを確認するための出発点として適しています。

于 2013-05-10T13:04:45.263 に答える