web-dev-qa-db-ja.com

Sonatype Nexusからwgetを使用してアーティファクトをダウンロードする方法

Sonatype Nexusインスタンスを起動して実行し、特定のアーティファクトを手動でダウンロードするスクリプトを記述する必要があります。

REST APIとwgetを使用してみました:

wget --user=username --password=password http://<ip>:<port>/nexus/service/local/artifact/maven/content?g=<group>&a=<artifact>&v=<version>&r=snapshots

Resolving <ip stuff>
Connecting to <ipv6 stuff>... failed: Connection refused.
Connecting to <ipv4 stuff>... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Reusing existing connection to <ip>:<port>.
HTTP request sent, awaiting response... 400 Bad Request
2014-05-11 20:17:01 ERROR 400: Bad Request.

これを機能させる方法を誰かが知っていますか?

編集:ブラウザーを使用して(およびWebインターフェースにログインして)アーティファクトをダウンロードできます

14
dr0n3

URLは正しいように見えますが、特殊文字が含まれているため、引用する必要があります。

wget --user=username --password=password "http://<ip>:<port>/nexus/service/local/artifact/maven/content?g=<group>&a=<artifact>&v=<version>&r=snapshots"

ダウンロードしたファイル名を正しくするために、--content-dispositionを追加することもできます。詳細はこちらをご覧ください:

https://support.sonatype.com/entries/23674267

24
rseddon

ネクサス3用

wget --user=userid --password=password 'https://nexusurl:8081/nexus/repository/<repository id>/<replace the grouf is . with />/<artifact id>/<version>/<file name>' -O ${WORKSPACE}/<new file name>

グループID = com.sap.cloudfoundry.mta_plugin_linux

アーティファクトID = com.sap.cloudfoundry.mta_plugin_linux.api

nexus url = alm.xxxxxx.com

$ WORKSPACE = jenkins現在のワークスペース

新しいファイル名= cf-cli-mta-plugin-2.0.3-linux-x86_64.bin

リポジトリID = Sample_Replatform_Stage_2_Release(これはリポジトリの名前として表示されます)

コマンドは

 wget --user=USERID --password=PASSWORD 'https://alm.xxxxxxx.com/nexus/repository/sample_Replatform_Stage_2_Release/com/sap/cloudfoundry/mta_plugin_linux/com.sap.cloudfoundry.mta_plugin_linux.api/2.0.3/com.sap.cloudfoundry.mta_plugin_linux.api-2.0.3.bin' -O ${WORKSPACE}/cf-cli-mta-plugin-2.0.3-linux-x86_64.bin

最も重要なのは、Nexus Rest APIの場合、artifactIDバージョンが常にファイル名と一致する必要があります。そうしないと、maven2リポジトリ形式エラーが発生します

追加の引数とフォーマットについては、次を参照してください https://support.sonatype.com/hc/en-us/articles/213465488-How-can-I-retrieve-a-snapshot-if-I-don -t-know-the-exact-filename-

1
Subrata Fouzdar

Darwin19.0.0上に構築されたGNU Wget 1.20.3。このようになります:

wget --http-user myusername --http-password=mypassword https://nexus.example.com/myfile.Zip
0
Chris Thompson