92 votes

Comment déployer manuellement des artefacts dans Nexus Repository Manager OSS 3

Après avoir installé Nexus Repository Manager OSS 3, je ne vois pas d'option. Artifact Upload pour télécharger des artefacts via une page web.

Dans Nexus Repository Manager OSS 2.13 il y a une option pour faire cette opération.

Quelqu'un peut me montrer comment télécharger des artefacts vers un référentiel hébergé dans le Nexus 3 ?

EDIT : A partir de la version 3.9.0, cette fonctionnalité est implémentée.

1 votes

Dans ma réponse ici J'ai expliqué les deux approches - pour http et https.

17 votes

Pourquoi diable ont-ils laissé de côté cette pièce essentielle de la fonctionnalité ?

8 votes

Puisque l'interface graphique de téléchargement ne fait toujours pas partie de Nexus 3, nous avons créé une solution légère pour fournir l'interface manquante. Vous pouvez héberger une page html dans un dépôt brut de votre instance Nexus3, et lorsque vous accédez à cette page depuis le navigateur, elle fournira une interface graphique de téléchargement similaire à celle de Nexus2. Le projet peut être trouvé sur GitHub avec une documentation détaillée. La version publiée au moment de cette réponse prend également en charge les téléchargements de style GAV et les téléchargements bruts.

83voto

bpedroso Points 153

J'utilise le fichier de déploiement maven.

mvn deploy:deploy-file -DgroupId=my.group.id \
    -DartifactId=my-artifact-id \
    -Dversion=1.0.0.1 \
    -Dpackaging=jar \
    -Dfile=foo.jar \
    -DgeneratePom=true \
    -DrepositoryId=my-repo \
    -Durl=http://my-nexus-server.com:8081/repository/maven-releases/

UPDATE : Comme indiqué dans les commentaires, l'utilisation de guillemets dans l'url provoque une NoSuchElementException.

Mais j'ai ajouté la configuration du serveur dans mon maven (~/.m2/settings.xml).

<servers>
  <server>
    <id>my-repo</id>
    <username>admin</username>
    <password>admin123</password>
  </server>
</servers>

Références :

Maven Apache - Guide des jars tiers

0 votes

Dois-je activer ou installer quelque chose pour déployer de la sorte ? J'obtiens les erreurs suivantes lorsque j'essaie : 29 nov. 2016 11:27:31 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec execute INFO : Exception E/S (java.net.SocketException) attrapée lors du traitement de la requête vers {}->. 127.0.0.1:8081 : Tuyau cassé et ainsi de suite...

0 votes

Non. Seulement pure maven. Avez-vous un proxy ? Peut-être que vous devez ignorer localhost / 127.0.0.1 là / ou cette ip et ce port sont corrects ? Je vais chercher d'autres suggestions pour résoudre cette exception.

0 votes

Je pense que le problème est que j'utilise le Nexus 3 et non le Nexus 2.

43voto

Keith Starling Points 421

Ceci n'est pas actuellement implémenté dans l'interface utilisateur du Nexus 3 (voir https://issues.sonatype.org/browse/NEXUS-10121 ). Vous devrez utiliser curl ou mvn deploy ou une autre option.

29 votes

Au fur et à mesure que le temps passe, cela s'avère être un MASSIVE PITA.

30voto

RCross Points 630

Vous pouvez télécharger des artefacts via leurs capacités de publication natives (par exemple, maven deploy, npm publish).

Vous pouvez également télécharger des artefacts vers des dépôts "bruts" par le biais d'une simple requête curl, par ex.

curl --fail -u admin:admin123 --upload-file foo.jar 'http://my-nexus-server.com:8081/repository/my-raw-repo/'

2 votes

Oui, je peux le faire en mvn deploy et cela fonctionne parfaitement mais je n'ai pas réalisé qu'ils ont enlevé Artifact Upload de l'option la plus récente Nexus .

1 votes

@PaweGowacz le problème Jira pour la fonctionnalité de téléchargement dans 3.x est ici : issues.sonatype.org/browse/NEXUS-10121

1 votes

Lisez le fichier de manuel de curl à propos de l'option --fail - elle n'est pas sûre.

28voto

Tobias Rath Points 136

Ceci est implémenté dans Nexus depuis la version 3.9.0.

  • Connexion
  • Sélectionnez Upload

enter image description here

  • Remplir le formulaire et télécharger l'artefact

enter image description here

0 votes

Nous avions installé la version 3.7 et la matrice des fonctionnalités indiquait qu'elle devait exister (la version 3.10 est maintenant en vigueur). Je devenais fou en essayant de comprendre comment elle était mise en œuvre. Cette réponse a été très utile. Je voterais 10 fois pour vous si je le pouvais.

0 votes

Les dépôts Bower (hébergés) n'ont pas de fonction de téléchargement :/

0 votes

@tobias quelle est la valeur typique de l'extension ?

3voto

Ron Badur Points 595

Mon équipe a créé un outil en ligne de commande pour télécharger des artefacts dans le dépôt nexus 3.x. Il vous sera peut-être utile. Chargeur d'artefacts Maven

2 votes

Mais seulement pour les utilisateurs de Windows ?

2 votes

En ce moment, oui

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X