19

nexus インストールを最新リリース (3.x) にアップグレードしました。特定のスナップショット アーティファクトの最新バージョンを取得する方法はありますか? Nexus 2 には、もうサポートされていない便利な API がありました。

同じ質問 (古いバージョンの場合) がここで回答されています: Sonatype Nexus REST Api fetch latest build version

どんなアイデアでも大歓迎です。

ベスト、ダニエル

4

11 に答える 11

6

Nexus 2 には、もうサポートされていない便利な API がありました。

あなたがこれらを参照しているように聞こえます:

/service/local/artifact/maven/content
/service/local/artifact/maven/redirect

x、y、z が推測される最新の xyz-SNAPSHOT バージョンを探している場合、Nexus にはこの機能がありませんでした (プラグインでのみ機能しました)。

これはまったく正しくありません。次の記事を参照してください。LATEST、RELEASE、または SNAPSHOT ベース バージョンを指定できることが明確に示されています。

https://support.sonatype.com/hc/en-us/articles/213465488-How-can-I-retrieve-a-snapshot-if-I-don-t-know-the-exact-filename-

可能ですが、ワンライナーではできません。

はい - アーティファクトを取得するために 1 行のコマンドを使用するartifact-resolverなどの便利なツールがない限り。

于 2017-01-09T20:38:51.183 に答える
4

curljqsortおよびを使用してワンライナーをバッシュしtailます。

NEXUS_URL=https://your-nexus.com
MAVEN_REPO=maven-snapshots
GROUP_ID=...
ARTIFACT_ID=...
VERSION=2.0.1-SNAPSHOT
FILE_EXTENSION=jar

download_url=$(curl -X GET "${NEXUS_URL}/service/rest/v1/search/assets?repository=${MAVEN_REPO}&maven.groupId=${GROUP_ID}&maven.artifactId=${ARTIFACT_ID}&maven.baseVersion=${VERSION}&maven.extension=${FILE_EXTENSION}" -H  "accept: application/json"  | jq -rc '.items | .[].downloadUrl' | sort | tail -n 1)

wget $download_url
于 2019-03-15T10:39:08.287 に答える
2

要求するとx.y.z-SNAPSHOT、デフォルトで最新のx.y.z-timestampスナップショット バージョンがダウンロードされます。追加の操作は必要ありません

、、が推測される最新x.y.z-SNAPSHOTバージョンを探している場合-Nexusにはこの機能がありませんでした(プラグインでのみ機能しました)。そして、これには良いユースケースはないと思います。これが必要な場合は、おそらく何か間違ったことをしているでしょう。常に特定のバージョンで作業する必要があります。実際、最初の機能についても、良いユースケースが思い浮かびません。xyz

于 2016-12-30T09:56:54.530 に答える