Test di lavori e condutture Jenkins


10

Attualmente, abbiamo un buon numero di lavori e condutture Jenkins per build, test, implementazioni e altre attività automatizzate.

Ogni volta che cambiamo o aggiungiamo un nuovo lavoro, lo testiamo solo manualmente - ad es. Andando sul "percorso felice" (quando il lavoro viene svolto senza errori), testando un paio di casi di test negativi quando un lavoro o una pipeline falliscono - controllando il codice di errore e notifiche.

Questo approccio chiaramente non è affidabile e non si adatta bene. Come possiamo migliorare questo processo? C'è un posto per l'automazione dei test quando si tratta di verificare come funzionano i lavori e le condutture di Jenkins?


5
benvenuti a devops di alto livello - chi mette alla prova il test? Penso che potresti iniziare con un ambiente sandbox per replicare le impostazioni generali del sistema ed evolverlo per completare la configurazione come approccio al codice; questo include configurazioni di lavoro gestite da codice.
Peter Muryshkin,

Risposte:


10

Sto pubblicando questo qui non perché approvo queste soluzioni (in realtà, non le ho mai provate), ma solo perché sono una potenziale risposta alla tua domanda:

È possibile iniziare con JenkinsPipelineUnit , un framework di unit test per gli script Pipeline.

C'è anche un progetto chiamato jenkinsfile-runner che esegue il tuo Jenkinsfile in un'istanza Jenkins transitoria e senza testa. Presumibilmente, questo può essere usato per testare le librerie condivise Jenkinsfiles e Pipeline. Tuttavia, a partire dall'estate 2018 non esiste alcuna documentazione su come utilizzare questo strumento per i test di integrazione e non sono stato in grado di trovare esempi di chiunque utilizzi questo strumento "in the wild".

Vedere anche la relativa segnalazione di bug su Jenkins JIRA: "Framework di test per Jenkinsfile" .

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.