Configura Jenkins per eseguire e mostrare i test JMeter

1. Panoramica

In questo articolo, configureremo una pipeline di distribuzione continua utilizzando Jenkins e Apache JMeter.

Faremo affidamento sull'articolo JMeter come un ottimo punto di partenza per comprendere prima le basi di JMeter, poiché ha già alcuni test delle prestazioni configurati che possiamo eseguire. Inoltre, utilizzeremo l'output di compilazione di quel progetto per vedere il report generato dal plug-in Jenkins Performance.

2. Installazione di Jenkins

Prima di tutto, dobbiamo scaricare l'ultima versione stabile di Jenkins, accedere alla cartella in cui si trova il nostro file ed eseguirlo utilizzando il comando java -jar jenkins.war .

Tieni presente che non possiamo utilizzare Jenkins senza una configurazione iniziale degli utenti.

3. Installazione del plug-in Performance

Installiamo il plug-in Performance , necessario per eseguire e visualizzare i test JMeter:

Ora, dobbiamo ricordarci di riavviare l'istanza.

4. Eseguire i test JMeter con Jenkins

Ora andiamo alla home page di Jenkins e fare clic su "crea nuovi lavori", specificare un nome, selezionare il progetto Freestyle e fare clic su "OK".

Nel passaggio successivo, nella scheda Generale , possiamo configurarlo con questi dettagli generali: Successivamente, impostiamo l'URL del repository e i rami da compilare : Ora vai alla scheda Build per specificare come costruiremo il progetto. Qui invece di specificare direttamente il comando Maven per costruire l'intero progetto, possiamo prendere un altro modo per avere meglio il controllo della nostra pipeline poiché l'intento è solo quello di costruire un modulo.

Nella shell ExecuteSottoscheda scriviamo uno script per eseguire le azioni necessarie dopo che il repository è stato clonato:

  • Vai al sottomodulo desiderato
  • L'abbiamo compilato
  • L'abbiamo implementato, sapendo che è un progetto basato sull'avvio a molla
  • Attendiamo che l'app sia disponibile sulla porta 8989
  • E alla fine, ci limitiamo a specificare sia il percorso del nostro script JMeter (che si trova all'interno della cartella delle risorse del modulo jmeter ) da utilizzare per i test delle prestazioni sia il percorso del file risultante ( JMeter.jtl ) anche nella cartella delle risorse

Ecco il piccolo script di shell corrispondente:

cd jmeter ./mvnw clean install -DskipTests nohup ./mvnw spring-boot:run -Dserver.port=8989 & while ! httping -qc1 //localhost:8989 ; do sleep 1 ; done jmeter -Jjmeter.save.saveservice.output_format=xml -n -t src/main/resources/JMeter.jmx -l src/main/resources/JMeter.jtl

Come mostrato nell'immagine seguente:

Dopo che il progetto è stato clonato da GitHub, lo abbiamo compilato, aperto sulla porta 8989 ed elaborato i test delle prestazioni, dobbiamo rendere il risultato di visualizzazione del plug-in delle prestazioni in modo intuitivo.

Possiamo farlo aggiungendo azioni post-build dedicate . Dobbiamo fornire il file di origine dei risultati e configurare l'azione:

Scegliamo la Modalità Standard con le successive configurazioni:

Premiamo Salva, nel menu a sinistra della dashboard di Jenkins fai clic sul pulsante Crea orae aspetta che finisca il set di operazioni che abbiamo configurato lì.

Al termine, vedremo sulla console tutti gli output del nostro progetto. Alla fine otterremo Finished: SUCCESSo Finito: FAILURE :

Andiamo al rapporto sul rendimentoarea accessibile tramite il menu a sinistra.

Qui avremo il report di tutte le build passate inclusa quella attuale per vedere la differenza in termini di prestazioni:

Facciamo clic sull'indicazione appena in cima alla tabella per avere solo il risultato dell'ultima build che abbiamo appena fatto:

Dalla dashboard del nostro progetto possiamo ricavare il Performance Trend , che sono altri grafici che mostrano i risultati delle ultime build:

Nota: applicare la stessa cosa a un progetto Pipeline è anche semplice come:

  1. Crea un altro progetto (elemento) dalla dashboard e chiamalo JMeter-pipeline, ad esempio ( scheda Informazioni generali )
  2. Seleziona Pipeline come tipo di progetto
  3. Nella scheda Pipeline , nella definizione seleziona Script pipeline e seleziona Usa Groovy Sandbox
  4. Nell'area dello script è sufficiente compilare le seguenti righe:
node { stage 'Build, Test and Package' git '//github.com/eugenp/tutorials.git' dir('jmeter')  kill -KILL \$pid"  } 

Questo script inizia clonando il progetto, va nel modulo di destinazione, compila ed eseguilo per assicurarti che l'app sia accessibile su // localhost: 8989

Successivamente, eseguiamo i test JMeter situati nella cartella delle risorse, salviamo i risultati come output di compilazione e, infine, l'applicazione viene chiusa.

5. conclusione

In questo rapido articolo, abbiamo creato un semplice ambiente di distribuzione continua per eseguire e mostrare i test di Apache JMeter a Jenkins in due modi; prima tramite un progetto Freestyle e la seconda con una pipeline .

Come sempre, il codice sorgente di questo articolo può essere trovato su GitHub.