Mi piacerebbe sapere, come posso installare un plugin per Jenkins, usando l'API di accesso Jenkins Remote ? Ho trovato un modo per installare utilizzando la CLI di jenkins. Ma ho bisogno di sapere come fare lo stesso usando l'API. Ho provato ad usare la libreria jenkins-python. Ma non ho trovato nessun modo per installare il plug-in .Come installare i plugin in jenkins, con l'aiuto dell'API di accesso remoto di Jenkins?
risposta
Non credo sia possibile. Tuttavia, come soluzione alternativa potresti prendere in considerazione la creazione di un lavoro che installerebbe i plugin tramite la CLI di Jenkins; puoi quindi richiamare quel lavoro tramite l'API con i parametri appropriati.
Come suggerito da malenkiy_scot, possiamo creare un lavoro e utilizzare la CLI di Jenkins. Ecco il modo segreto che faccio per la mia automazione nell'installazione dei plugin. I plugin Jenkins sono disponibili nello specchio Jenkins qui: http://updates.jenkins-ci.org/latest Questo link potrebbe non elencare nulla ma puoi scaricare il plug-in se conosci il nome del plug-in. Ad esempio, se si desidera scaricare il plugin skype-notifier, è possibile scaricarlo da http://updates.jenkins-ci.org/latest/skype-notifier.hpi L'URL generico è "http://updates.jenkins-ci.org/latest/ .hpi"
Dopo aver scaricato quel plugin, dovrebbe andare nella directory "plugins" in casa Jenkins sul server. Per la macchina Linux, sarà molto probabilmente in "/ var/lib/jenkins/plugins". Semplice esempio
wget http://updates.jenkins-ci.org/latest/skype-notifier.hpi
mv skype-notifier.hpi /var/lib/jenkins/plugins
Ci sono due cose da notare qui:
- Se il plugin ha delle dipendenze, quelli che non saranno installati di default. Se si conoscono gli altri plug-in richiesti, è possibile installarli allo stesso modo. Qui è necessario un po 'di processo manuale. Ma se è necessario uno stesso set di plugin, la dipendenza può essere risolta una sola volta e lo script può essere scritto per scaricarlo e spostarlo nella casa di Jenkins.
- I plug-in scaricati non possono essere utilizzati immediatamente. È richiesto un ricarico di Jenkins.
Invia (HTTP POST) i seguenti dati xml (con la tua versione plugin-id @) al gestore di plugin Jenkins. Controlla il mio jenkins install plugin script in sintesi.
Questa richiesta HTTP POST installa jenkins git plugin 2.0.
curl -X POST -d '<jenkins><install plugin="[email protected]" /></jenkins>' --header 'Content-Type: text/xml' http://localhost:8080/pluginManager/installNecessaryPlugins
Alcuni plugin sono difficili da aggiornare sul file system perché gli altri dipendono da esso (credenziali è un esempio). Per tali plugin è possibile aggiornarli solo tramite l'interfaccia web.
Il frontend Jenkins ha una pagina in "Gestisci Jenkins" -> "Gestisci plug-in". Sotto la scheda 'Avanzate' c'è un modulo per 'uploadPlugin'. Consente l'automazione web con curl, potrebbe essere necessario aggiungere l'autenticazione.
curl -i -F [email protected] http://jenkinshost/jenkins/pluginManager/uploadPlugin
In aggiunta ai metodi già menzionati (ho usato personalmente il "ricciolo uploadPlugin" quello fornito da @bbaassssiiee), è necessario considerare che se si utilizza PluginManager Jenkins cercherà di caricare il plugin dinamicamente, ma nel caso in cui è necessario riavviare Jenkins per inizializzare il plugin correttamente (questo era il mio caso), si dovrebbe aggiungere:
curl -kX POST https://${JENKINS_URL}/safeRestart
nel caso in cui si copia il plugin direttamente al Jenkins/plugin, il riavvio è obbligatoria per il plugin da caricare.
- 1. Accesso remoto con PowerShell e Jenkins
- 2. Come installare i plugin jenkins dalla riga di comando?
- 3. impossibile installare il plugin Git in jenkins
- 4. python-jenkins o jenkinsapi per jenkins API di accesso remoto in python
- 5. Può un Jenkins Trigger un lavoro su un jenkins remoto
- 6. Impostazione tracciamento remoto in Jenkins/Git
- 7. Plugin jenkins NodeJS rotto?
- 8. Sviluppo del plugin post-build di Jenkins
- 9. Installazione plug-in Jenkins
- 10. Plugin Jenkins vs. Xcode - problemi di codifica
- 11. Variabili Accesso specificati per Jenkins Groovy Plugin Script
- 12. Jenkins Plugin GitHub Rami inversi
- 13. Doxygen plugin Jenkins: errore output_directory
- 14. Jenkins plugin jacoco report vuoto
- 15. Accesso alle credenziali in Jenkins con il plugin Parametro di credenziali
- 16. Come elencare tutti i plugin jenkins non utilizzati?
- 17. Convalida dei moduli di plugin Jenkins con Ruby
- 18. Accesso al payload del webhook di BitBucket in Jenkins jobs
- 19. Plugin git Jenkins con accesso ssh a bitbucket: Autorizzazione negata (chiave pubblica). fatale: Impossibile leggere dal repository remoto
- 20. jenkins debugging con eclissi
- 21. Jenkins & NodeJS plugin - Autorizzazione negata errore
- 22. Errore di autenticazione con SVN in Jenkins
- 23. utilizzando il plugin docker su jenkins -
- 24. Esempio di file di input Plugin di stampa Jenkins
- 25. Come limitare i processi figlio di Jenkins?
- 26. Jenkins reindirizzare/a/Jenkins installazione autonoma
- 27. Plugin Git Jenkins incluso regioni non funzionanti
- 28. Jenkins Git Plugin non riceve i parametri registrati
- 29. jenkins extended parameter plugin groovy script
- 30. Continuum come sostituto Jenkins?
Questa dovrebbe essere la nuova risposta accettata qui. Inoltre, se si specifica il plugin come 'git @ latest', viene installata l'ultima versione del plugin. Il nome del plugin da usare qui è il campo 'Plugin ID', come quello che si trova qui su [wiki.jenkins-ci.org] (https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin) . L'unica altra cosa da tenere a mente è che l'operazione 'curl' tornerà prima che il plugin e i suoi prerequisiti siano installati completamente. Se si sta automatizzando questo, si consiglia vivamente di inserire alcuni timer di spegnimento automatico dopo aver installato un plugin. –
Questo è d'oro! questa dovrebbe essere la risposta accettata. – OkezieE
'curl -X POST --form-string" plugin.git.default = on "http: // localhost: 8080/pluginManager/install' Anche possibile, dove' git' è il nome del plugin. Ma questo richiede il riavvio di Jenkins. –