2013-05-10 7 views
6

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

これらのツールはMavenと高度に統合されています。 Mavenを使用せず、Javaをコンパイルすることもありません。私たちはQt/qmake/makeを使ってC++をコンパイルします。このビルドは本当にうまく動作します。私たちはまだCIツールを調査しています。

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

NexusまたはArtifactory(またはArchiva)へのアーカイブは、メークチェーンの一歩、またはCIチェーンの一部であると考えられていますか?

"make"ビルドやperl/bash/batchスクリプトをどのようにして相互作用させることができますか?

+0

@スラクス、なぜそれは本当ですか?彼らはJava開発者にとって何を達成していますか? – macetw

+1

@SLaksそれはpoppycockです。バイナリリポジトリマネージャは、バイナリを生成または使用するすべての開発者に適しています。 – noamt

+0

このリンクは有益です:http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix – sorin

答えて

9

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

2番目の目的は、依存関係として使用するファイルを保存することですが、インターネットから自由にダウンロードすることはできません。だからあなたはそれらを購入するか、あなたのベンダーから入手してレポに入れます。これは、Mavenユーザーや依存関係のメカニズムにも適用可能です。

第3の重要な目的は、あなたのリリースを保存できるということです。したがって、リリースv1.0をビルドすれば、それをそのようなリポジトリにアップロードすることができます。また、v1.0を見つける方法を知り、他のすべてのツールと一緒に使用することも簡単にできます。だから、wgetであなたのリリースをダウンロードし、それをホストにインストールするスクリプトを書くことができます。

ほとんどの場合、これらのレポはステージングプロセスの方法を持っています。したがって、v1.0をステージングのレポに保存することができます。誰かがテストを行い、その罰金を彼がリリースレポにプロモートすると、誰もがそれを見つけて使用することができます。

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

プロジェクト間で共有する必要があるリリースやファイルがあり、そのための良い解決策がない場合は、人工物のリポジトリがこれがどのように機能するかを確認するのに適しています。

+1

ArtifactoryとNexusの両方Javaバイナリを.NETのバイナリやデブとRPMとしてサポート – noamt

+0

私は主張に「私はMavenプロジェクトとMaven依存のニーズに最もうまく対応するように設計されています」と同意します。これはNexusでも当てはまりますが、Artifactoryは本当にツールとテクノロジに依存しないツールを構築しており、ほとんどすべてのビルドツールでうまく動作し、ユーザがアーティファクトのレイアウトを制御できるようにすることでサーバを構築します。また、Gradle、Ivy、P2、.NET、RPMなどのためのビルトイン機能も用意されています。 – JBaruch

+0

テキストを少し変更して、ほとんどすべてでこれらを使用できることを明確にしました。アーチファクトレポへの接続。残念なのは、ほとんどのツールがsettings.xmlを読み込まないため、リポジトリと接続するための特別な設定ファイルが必要なことです。しかし、これは無関係な理由です。なぜなら、mavenは問題にはまったく使用されておらず、bash/perlの設定はとにかく行われなければなりません。だから私はそれを取り除いた。 – mszalbach

関連する問題