Vorrei fornire un semplice URL che restituirà sempre l'ultima versione di una versione di istantanea di un artefatto. Per semplice intendo che l'URL non cambia, o richiede all'utente di sfogliare la directory ed esaminare i timestamp.Come posso fornire accesso URL all'ultima istantanea di un artefatto in Nexus?
risposta
Si prega di notare questa risposta si riferisce a Nexus 2.X
Nexus core "redirect" REST API può essere utilizzato per recuperare qualsiasi versione di un artefatto da un repository nominato:
Ad esempio:
Il parametro v può essere un valore come 1.0-SNAPSHOT, nel qual caso Maven restituirà l'ultimo snapshot con timestamp contenuto nel repository. Similmente il valore speciale "LATEST" dovrebbe fare lo stesso a condizione che non sia presente una versione più recente rilasciata.
Assicurati di utilizzare l'ID del repository e non il nome del repository per il parametro "r" – evandor
Vorrei poterti dare due upvotes! L'unica cosa che hai omesso è un collegamento (funzionante?) Ai documenti dell'API REST, che dovrebbe essere qualcosa come
@ TomislavNakic-Alfirevic Sì, il collegamento nella mia risposta non funziona più .... Sonatype cambia il proprio sito e la configurazione del server un po '... È un peccato che non ci sia un sito di riferimento principale per i documenti dell'API REST. Come hai detto il resto doco è disponibile dall'istanza locale. –
Ogni repository ha il proprio URL (lo si può vedere nel browser del repository). Se lo apri, puoi sfogliare gli id di gruppo e artefatto sul tuo artefatto. Questo è il tuo URL, ad esempio come questo: http://nexushost.domain/content/repositories/snapshots/com/example/group/artifact/1.2.3-SNAPSHOT/1.2.3-SNAPSHOT.jar
Utilizziamo le versioni di snapshot con data e ora, quindi non è così semplice – chad
@chad. Ecco cosa fa -SNAPSHOT. Pensa a un link simbolico a una versione aggiornata con data e ora –
Che sicuramente non funziona per me. mi aspettavo che la navigazione http diretta del repository mi desse quel livello di controllo dei metadati della risoluzione, è possibile che io abbia bisogno di configurare il repository in qualche modo per questo ... – chad
sulla mia macchina nexus tutti i risultati per:
sono come questo: * -1.2.3-20131204.143026-1.zip
quindi non posso accedervi direttamente a causa Devo fornire maggiori dettagli dinamici.
L'esempio con "... redirect? R = centro-proxy & g = log4j & a = log4j & v = ULTIMA" sta lavorando se apro nel browser ma non quando ho quello di installarlo da qualche macchina Linux utilizzando:
/usr/share/elasticsearch/bin/plugin --url "http://localhost:8081/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.comapny.application&a=elasticsearch-river-mongodb&v=1.2.3-SNAPSHOT&p=zip" --install river-mongodb
quindi la mia soluzione temporanea sta usando wget:
wget -O /tmp/elasticsearch-river-mongodb.zip "http://nexushost.domain/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.comapny.application&a=elasticsearch-river-mongodb&v=1.2.3-SNAPSHOT&p=zip"
quindi installare l'ultima ve rsion dal file locale.
Se si sta cercando l'ultima versione di un'istantanea, basta chiedere, "1.0-SNAPSHOT" restituirà l'ultima versione dello snapshot di tale artefatto.
Se stai cercando "ultima versione", tuttavia, la sintassi "v = LATEST" funzionerà, ma tieni presente che questa parola chiave può restituire l'ultima versione di quella istantanea che stai cercando o la versione appena completato, o quel ramo ALTRO dello stesso artefatto che è una versione successiva e ancora a "-SNAPSHOT".
Se stai cercando l'ultimo assoluto allora si, usa "v = LATEST". Se stai cercando l'ultima versione, puoi anche chiedere "v = RELEASE". Se si dispone di un raggruppamento di repository, è possibile fare riferimento a entrambi i repository e rilasciare repository aggiungendo all'URL qualcosa come:
"...v = STAMPA & r = pubblico"
Questo dovrebbe cercare in tutti i vostri 'pronti contro termine' raggruppati.
- 1. Nexus: Impossibile trovare artefatto
- 2. aliasing URL Jenkins artefatto
- 3. Jenkins Maven distribuire vaso per Nexus - artefatto denominazione
- 4. Posso fornire un URL a lxml.etree.parse su Python 3?
- 5. Credenziali Nexus in Jenkins
- 6. Come fornire URL di download temporaneo in Flask?
- 7. Come posso fornire una logica personalizzata in un archetipo Maven?
- 8. Visualizzazione di una firma PGP su un artefatto Maven
- 9. Come posso eseguire una classe Java all'interno di un artefatto Maven, risolvendo automaticamente le dipendenze?
- 10. Come eseguire il backup di un gestore di repository nexus
- 11. Perché fornire un "abstract: true" indica un URL?
- 12. Un artefatto Maven UnicodeId
- 13. Come URL codificare un URL in JSP?
- 14. Impossibile trasferire artefatto pom in gradle maven-publish plug-in
- 15. Accesso aiutanti URL in routes.rb
- 16. Come temporizzare un artefatto di output in Maven?
- 17. Come posso fornire un array come opzioni per selezionare l'elemento?
- 18. Che cos'è un git "Istantanea"?
- 19. Creazione istantanea di thread di un singleton
- 20. Come trovare gli artefatti che dipendono da un altro artefatto?
- 21. Come fornire un accesso diverso a diversi tipi di utenti per l'accesso in Firebase?
- 22. Come inserire HTTP Basic Auth come parte di Sonatype Nexus URL per il download di artefatti?
- 23. Come posso fornire l'hint _NET_WM_STATE_FULLSCREEN con xcb?
- 24. Rimozione di un artefatto da Maven Central
- 25. Come posso fornire un supporto personalizzato per la mia classe?
- 26. Tomcat distribuzione binaria zip come artefatto maven
- 27. Come decomprimere un artefatto con SBT
- 28. Disattiva "Salvataggio istantanea" in NetBeans
- 29. accesso a un URL protetto da password
- 30. Come fornire un token di autenticazione Youtube in PHP cURL
Ho avuto esattamente la stessa domanda. Sto scrivendo script che scaricano manufatti Nexus e gli URL dinamici per le istantanee dove –