2016-05-31 37 views
47

Dopo aver installato Nexus Repository Manager OSS 3 non vedo l'opzione Artifact Upload per caricare gli artefatti attraverso la pagina web.Come distribuire manualmente gli artefatti in Nexus Repository Manager OSS 3

In Nexus Repository Manager OSS 2.13 è possibile eseguire questa operazione.

Chiunque può indicarmi come caricare gli artefatti sul repository ospitato in Nexus 3?

+1

Nella mia risposta [qui] (http://stackoverflow.com/a/40130685/2614103) ho spiegato entrambi gli approcci - per http e https. – grajsek

+14

perché mai lascerebbero questo essenziale elemento di funzionalità? –

+8

Poiché la GUI di caricamento non fa ancora parte di Nexus 3, abbiamo creato una soluzione leggera per fornire l'interfaccia mancante. È possibile ospitare una pagina html in un repository non elaborato dell'istanza Nexus3 e quando si accede a tale pagina dal browser, fornirà una GUI di caricamento simile a quella in Nexus2. Il progetto può essere trovato su [GitHub] (https://github.com/TOPdesk/nexus3-artifact-upload) con documentazione dettagliata. La versione rilasciata al momento di questa risposta supporta anche lo stile GAV e i caricamenti non elaborati. –

risposta

41

Questo non è implementata nell'interfaccia utente in Nexus 3 (vedi https://issues.sonatype.org/browse/NEXUS-10121). Avrai bisogno di usare curl o mvn deploy o qualche altra opzione.

+24

Con il passare del tempo questo si sta rivelando una PITA MASSA. – demaniak

17

È possibile caricare gli artefatti tramite le funzionalità di pubblicazione native (ad esempio, maven deploy, npm publish).

È anche possibile caricare gli artefatti in repository "grezzi" tramite una semplice richiesta di ricciolo, ad es.

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

Sì, posso farlo con 'mvn deploy' e funziona perfettamente, ma non mi sono reso conto che hanno rimosso l'opzione' Upload Artifact' dall'ultimo 'Nexus'. –

+1

@ PawełGłowacz il problema Jira per la funzionalità di upload in 3.x è qui: https://issues.sonatype.org/browse/NEXUS-10121 – mvreijn

40

Sto usando il file di installazione di 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: Come indicato nei commenti utilizzando citazioni in url causa NoSuchElementException

Ma devo aggiungere configurazione del server nel mio Maven (~/.m2/settings.xml).

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

Riferimenti:

Maven Apache - Guide 3rd party jars

+0

Devo abilitare o installare qualcosa per distribuire in quel modo? Ottengo i seguenti errori quando provo: 29-nov-2016 11: 27: 31 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec esecuzione INFO: I/O eccezione (java. net.SocketException) rilevato durante l'elaborazione della richiesta a {} -> http://127.0.0.1:8081: pipe interrotte e così via ... –

+0

No. Unico esperto. Hai un proxy? Forse hai bisogno di ignorare localhost/127.0.0.1 lì/o questo IP e la porta sono corretti? Non cercherò altre congetture per risolvere questa inganno. – bpedroso

+0

Penso che il problema è che sto usando Nexus 3, non Nexus 2. –

2

mia squadra costruita uno strumento a riga di comando per il caricamento di artefatti per repository nesso 3.x, forse è sarà utile per voi - Maven Artifacts Uploader

+0

Ma solo per utenti Windows? – TOUDIdel

+0

In questo momento, sì –

1

La mia squadra utilizzare Gradle e Nexus OSS 3.5.2,

Ho trovato una soluzione: caricare artyfacts da locakhost (ho controllato la documentazione Nexus e non ho trovato nulla di caricamento di manufatti dalle cartelle) => directory ho condiviso (utilizzare Apache HTTPD) e collegato uno per creare un nuovo repository proxy Nexus. Ora quando voglio aggiungi i miei manufatti Posso caricarli in una directory condivisa nel mio server remoto.

Forse qualcuno a trovare la mia soluzione utile: enter image description here

La mia domanda è qui: Is it possible to deploy artifacts from local folder in Sonatype Nexus Repository Manager 3.x

0

Questo è implementato in Nexus versione 3.9.0.

+1

Davvero? Dovevi solo rispondere a una vecchia domanda con una fodera. –

+0

Questo non fornisce una risposta alla domanda. Una volta che hai [reputazione] sufficiente (https://stackoverflow.com/help/whats-reputation) sarai in grado di [commentare qualsiasi post] (https://stackoverflow.com/help/privileges/comment); invece [fornisci risposte che non richiedono chiarimenti da parte del richiedente] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-, invece). - [Dalla recensione] (/ recensione/post di bassa qualità/19045450) – n2o

+0

Siamo spiacenti, Grant, volevo commentare la cosa, ma non ho abbastanza reputazione. Ho pensato che una risposta come questa fosse come chiudere questo thread. Dovrei cancellare questo come risposta? –