Une instance de Sonatype Nexus est opérationnelle et je dois écrire un script pour télécharger manuellement un artefact spécifique.
J'ai essayé d'utiliser l'API REST et 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.
Est-ce que quelqu'un sait comment faire fonctionner cela?
Modifier: je peux télécharger l'artefact à l'aide de mon navigateur (et être connecté à l'interface Web)
L'URL semble correcte, mais vous devez la citer car elle contient des caractères spéciaux.
wget --user=username --password=password "http://<ip>:<port>/nexus/service/local/artifact/maven/content?g=<group>&a=<artifact>&v=<version>&r=snapshots"
Vous pouvez également vouloir ajouter --content-disposition
pour que le nom du fichier téléchargé soit correct. Voir ici pour plus d'informations:
pour Nexus 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>
exemple
iD du groupe = com.sap.cloudfoundry.mta_plugin_linux
iD d'artefact = com.sap.cloudfoundry.mta_plugin_linux.api
lien url = alm.xxxxxx.com
$ WORKSPACE = Espace de travail actuel de Jenkins
nouveau nom de fichier = cf-cli-mta-plugin-2.0.3-linux-x86_64.bin
repository id = Sample_Replatform_Stage_2_Release (que vous voyez comme nom du référentiel)
La commande sera
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
le plus important pour les api nexus rest la version-artefact doit toujours correspondre au nom du fichier, sinon vous obtiendrez l'erreur de format du référentiel maven2
pour obtenir des arguments et des formats supplémentaires, vous pouvez consulter https://support.sonatype.com/hc/en-us/articles/213465488-How-can-I-retrieve-a-snapshot-if-I-don-t -know-the-exact-filename-