web-dev-qa-db-ja.com

Artifactoryのアーティファクトの最新のスナップショットのURLはありますか?

Artifactoryのアーティファクトの最新のスナップショットバージョンへのパーマリンクを作成したいと思います。 1.0-SNAPSHOTを使用している場合は、最新の1.0-SNAPSHOTJARをダウンロードするURLが必要です。サーバーのhttp://hostname/artifactory/libs-snapshot/groupId/artifactId/1.0-SNAPSHOT/にあるアーティファクトを見つけることで、最新のアーティファクトを見つけることができます。タイムスタンプをチェックする以外に、maven-metadata.xmlを開き、メタデータ/バージョニング/スナップショットのタイムスタンプとbuildNumberを同じディレクトリ内のJARと照合することで、どれが最新かを判断できます。これはスクリプト化できますが、理想的には、Artifactoryにはすでにこの方法でパーマリンクを構築する方法があります。 ArtifactoryはそのようなURLを提供していますか?

16
BennyMcBenBen

URL名にartifactId-1.0-SNAPSHOT.jarを含むエントリに対して通常のクエリを実行すると、最新のスナップショットが自動的に返されます。ドキュメントを参照してください ここ

1つ:これは、pomが存在しない場合は最新の作成日、またはpomが存在する場合は最新のpomの作成に基づいています。 pomとnon-pomの展開を混在させると、奇妙な結果になる可能性があります。

5
Fred Simon

シェルスクリプトを使ってみましたが、うまくいきました。

Step1:ユーザー名をクリックするか、共通ユーザーを作成して、ユーザーアカウントの暗号化されたパスワードを取得します。次のリンクの安全なパスワードの使用セクションに移動します http://www.jfrog.com/confluence/display/RTF/Centrally+Secure+Passwords

ステップ2:ローカルマシンで一時フォルダーを作成し、次のcurl(Windowsの場合はwget)コマンドを入力します。

curl -o tmp/foo.jar --user <username>:<encrypted_password> <artifactory_url>/list/libs-snapshot-local/com/search/foo/1.0/foo-1.0-SNAPSHOT.JAR

Tmpフォルダー内のfoo.jarは最新バージョンです。上記のようにタイムスタンプを指定しない場合、そのバージョンの最新のアーティファクトがダウンロードされます。お役に立てれば!

2
phoenix

もう1つの移植可能なオプションは、mavenコマンドラインを使用することです。

mvn org.Apache.maven.plugins:maven-dependency-plugin:2.4:get -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version] -Ddest=[dest file]

1
Omri Spector

これは役立つかもしれません:

Artifactoryリポジトリから最新のアーティファクトをダウンロードする方法は?

Artifactoryの無料バージョンにはパーマリンク機能はありませんが、ご提案のとおり簡単にスクリプト化できます。参照されている質問でそれを行うための簡単なスクリプトを提供しました。

それが役に立てば幸い。

0
btiernay