Come testate le modifiche ai plugin Jenkins prima di distribuirle?


14

Se sei mai stato morso da un aggiornamento del plug-in che ha rotto alcune funzionalità, devi aver pensato a questo problema: quale dovrebbe essere la politica di aggiornamento dei plug-in Jenkins? Come testare le modifiche prima di distribuirle?

Qualcuno è arrivato al punto di avere un'istanza di prova che esegue lavori fittizi per testare le nuove versioni o pregate semplicemente che l'aggiornamento delle versioni non rompa nulla?


Intendi la politica del team di Jeankins o la tua politica (dell'organizzazione)?
Dan Cornilescu,

Farei un'istantanea del nodo Jenkins prima dell'aggiornamento e lo testerei. Nella mia esperienza, Jenkins non è mai stato un componente mission-critical. Se è "inattivo" per 15 minuti perché alcuni aggiornamenti del plug-in lo hanno interrotto, di solito non blocca la produzione in alcun modo, quindi l'intervento manuale è accettabile. Certo, se questo non è il tuo caso (e Jenkins deve essere al 100% HA), non è l'approccio giusto.
Assaf Lavie

@DanCornilescu la mia politica organizzativa in quanto è per il nostro server Jenkins interno
Michael Pereira,

@AssafLavie Dipende molto dal modo in cui Jenkins è in esecuzione: server autonomo, VM, contenitore docker, pod kubernetes (il nostro caso). Potrebbe non essere facile eseguire un'istantanea dello stato corrente per ripristinarlo così com'è. Nel nostro caso possiamo clonare il volume EBS contenente i dati Jenkins ma è un processo manuale e dispendioso in termini di tempo per ripristinare sia il contenitore che il volume di dati in uno stato specifico.
Michael Pereira,

Ciao @MichaelPereira se una delle due risposte di seguito ha risolto la tua domanda, considera di accettarla facendo clic sul segno di spunta. Ciò indica alla comunità più ampia che hai trovato una soluzione e dà una certa reputazione sia al rispondente che a te stesso. Non vi è alcun obbligo di farlo. Se non ritieni che la tua domanda abbia avuto risposta, non esitare a impegnarti con gli autori nei commenti.
Richard Slater,

Risposte:


4

Secondo le politiche dell'azienda in cui lavoro, abbiamo ambienti di sviluppo, pre-produzione e produzione (su alcuni servizi di assistenza possono mancare). E il percorso della nuova versione preprod-> test-> validazione-> prod.

Nel nostro caso i lavori in preprod sono abbastanza pesanti e complessi da essere certi che non abbiamo bisogno di pregare quando implementati in prod :)

Nota : usiamo svn per mantenere e consegnare la configurazione. Non apportiamo modifiche sul posto.


Come si mantiene la configurazione dei diversi server Jenkins? Manualmente?
Michael Pereira,

Usiamo svn per mantenere e consegnare la configurazione. Non apportiamo modifiche sul posto
Romeo Ninov il

Sento che questo non risponde completamente alla domanda. Questa risposta descrive come distribuire le modifiche, ma non come testare le modifiche attraverso la pipeline di distribuzione.
Jayhendren,

2

Avevamo bisogno di un ambiente Jenkins al 100%. spesso aggiorniamo plugin / Jenkins stesso.

Ciò provoca un forte mal di testa se la build si interrompe dopo l'aggiornamento.

Il modo più sicuro per ordinare questo è davvero ottenere una configurazione Demo Jenkins. Forse sulla stessa macchina utilizzando più applicazioni Tomcat, è possibile ottenere questo più economico.

Quello che abbiamo fatto è stato creare una VM (Demo) separata e replicare la configurazione del prod sulla VM Demo. Prima di modificare / aggiornare qualsiasi cosa faremmo un'istantanea di entrambe le macchine virtuali. Quindi testeremmo gli aggiornamenti su Demo VM. Se funziona bene, cambiarlo su Prod.

Suppongo che puoi cercare la community (come SE / SO) se qualcuno ha riscontrato problemi con il plugin che stai pianificando.


0

Avrei sempre attivato manualmente una o due ripetizioni su almeno una recente etichetta verde (o quasi verde) su ogni progetto / ramo pertinente che utilizza il rispettivo plug-in e controllerei di ottenere gli stessi risultati. Giusto per essere al sicuro.

Qualsiasi discrepanza nei risultati dovrebbe essere esaminata per determinare se sono causati dall'aggiornamento del plug-in o meno. Forse qualche altra ripetizione con i plugin vecchi e nuovi?


Certo nessun problema.
Dan Cornilescu,

Dall'esperienza passata le mie opinioni spesso non sono così popolari, quindi in generale tendo ad evitare i riflettori se possibile :) Non ho familiarità con gli strumenti mod. Ma non mi dispiace aiutare, soprattutto se è necessario - ho grandi speranze per questo sito.
Dan Cornilescu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.