En aquest tema, aprendrem com integrar Jenkins amb diverses eines de prova per automatitzar el procés de prova en les nostres pipelines de CI/CD. La integració amb eines de prova és crucial per assegurar la qualitat del codi i detectar errors de manera primerenca en el cicle de desenvolupament.
Objectius del Tema
- Entendre la importància de la integració amb eines de prova.
- Aprendre a configurar Jenkins per treballar amb eines de prova populars.
- Veure exemples pràctics d'integració amb eines de prova.
- Realitzar exercicis pràctics per reforçar els conceptes apresos.
- Importància de la Integració amb Eines de Prova
Integrar eines de prova amb Jenkins permet:
- Automatitzar l'execució de proves després de cada compilació.
- Generar informes de prova automàticament.
- Detectar errors i regressions de manera primerenca.
- Millorar la qualitat del codi i reduir el temps de lliurament.
- Eines de Prova Populars
Algunes de les eines de prova més utilitzades que es poden integrar amb Jenkins són:
- JUnit: Utilitzat per a proves unitàries en aplicacions Java.
- Selenium: Utilitzat per a proves d'automatització de navegadors.
- TestNG: Una altra eina popular per a proves unitàries en Java.
- Jest: Utilitzat per a proves de JavaScript.
- PyTest: Utilitzat per a proves en Python.
- Configurant Jenkins per a JUnit
Pas 1: Instal·lar el Plugin de JUnit
- Aneu a Manage Jenkins > Manage Plugins.
- A la pestanya Available, cerqueu JUnit Plugin.
- Seleccioneu el plugin i feu clic a Install without restart.
Pas 2: Configurar una Feina per Executar Proves JUnit
- Creeu una nova feina de tipus Freestyle project.
- Aneu a la secció Build i afegiu un pas de construcció per executar les proves. Per exemple, si utilitzeu Maven:
mvn test
- Aneu a la secció Post-build Actions i afegiu Publish JUnit test result report.
- Especifiqueu la ubicació dels fitxers de resultats de les proves, per exemple:
**/target/surefire-reports/*.xml
Exemple de Configuració
pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean install' } } stage('Test') { steps { sh 'mvn test' } post { always { junit '**/target/surefire-reports/*.xml' } } } } }
- Configurant Jenkins per a Selenium
Pas 1: Instal·lar el Plugin de Selenium
- Aneu a Manage Jenkins > Manage Plugins.
- A la pestanya Available, cerqueu Selenium Plugin.
- Seleccioneu el plugin i feu clic a Install without restart.
Pas 2: Configurar una Feina per Executar Proves Selenium
- Creeu una nova feina de tipus Freestyle project.
- Aneu a la secció Build i afegiu un pas de construcció per executar les proves. Per exemple, si utilitzeu Maven:
mvn test -Dtest=TestSelenium
- Aneu a la secció Post-build Actions i afegiu Publish JUnit test result report.
- Especifiqueu la ubicació dels fitxers de resultats de les proves, per exemple:
**/target/surefire-reports/*.xml
Exemple de Configuració
pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean install' } } stage('Test') { steps { sh 'mvn test -Dtest=TestSelenium' } post { always { junit '**/target/surefire-reports/*.xml' } } } } }
- Exercicis Pràctics
Exercici 1: Integrar JUnit amb Jenkins
- Creeu una nova feina de tipus Freestyle project.
- Configureu la feina per executar proves JUnit utilitzant Maven.
- Afegiu una acció post-construcció per publicar els resultats de les proves JUnit.
Exercici 2: Integrar Selenium amb Jenkins
- Creeu una nova feina de tipus Freestyle project.
- Configureu la feina per executar proves Selenium utilitzant Maven.
- Afegiu una acció post-construcció per publicar els resultats de les proves JUnit.
Solucions als Exercicis
Solució a l'Exercici 1
- Creeu una nova feina de tipus Freestyle project.
- A la secció Build, afegiu un pas de construcció per executar les proves:
mvn test
- A la secció Post-build Actions, afegiu Publish JUnit test result report.
- Especifiqueu la ubicació dels fitxers de resultats de les proves:
**/target/surefire-reports/*.xml
Solució a l'Exercici 2
- Creeu una nova feina de tipus Freestyle project.
- A la secció Build, afegiu un pas de construcció per executar les proves:
mvn test -Dtest=TestSelenium
- A la secció Post-build Actions, afegiu Publish JUnit test result report.
- Especifiqueu la ubicació dels fitxers de resultats de les proves:
**/target/surefire-reports/*.xml
Conclusió
Integrar Jenkins amb eines de prova és essencial per assegurar la qualitat del codi i detectar errors de manera primerenca. En aquest tema, hem après a configurar Jenkins per treballar amb JUnit i Selenium, dues eines de prova populars. També hem vist exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos. En el proper tema, explorarem la integració de Jenkins amb eines de desplegament.
Jenkins: De Principiant a Avançat
Mòdul 1: Introducció a Jenkins
Mòdul 2: Conceptes Bàsics de Jenkins
- Visió General del Tauler de Jenkins
- Creant i Executant Feines
- Entenent les Pipelines de Jenkins
- Utilitzant Plugins de Jenkins
Mòdul 3: Pipelines de Jenkins
- Pipeline com a Codi
- Pipelines Declaratives vs Scriptades
- Creant una Pipeline Simple
- Sintaxi de Pipeline
Mòdul 4: Pipelines Avançades de Jenkins
- Etapes i Passos de Pipeline
- Execució Paral·lela en Pipelines
- Utilitzant Variables d'Entorn
- Millors Pràctiques de Pipeline
Mòdul 5: Administració de Jenkins
- Gestionant Nodes de Jenkins
- Configurant la Seguretat
- Còpia de Seguretat i Restauració de Jenkins
- Monitorant Jenkins
Mòdul 6: Integrant Jenkins
- Integració amb Sistemes de Control de Versions
- Integració amb Eines de Compilació
- Integració amb Eines de Prova
- Integració amb Eines de Desplegament
Mòdul 7: Jenkins per a la Integració i el Lliurament Continu (CI/CD)
- Entenent CI/CD
- Configurant una Pipeline de CI
- Configurant una Pipeline de CD
- Automatitzant Desplegaments
Mòdul 8: Temes Avançats de Jenkins
- Utilitzant Jenkins amb Docker
- Jenkins i Kubernetes
- Jenkins com a Codi amb Jenkinsfile
- Escalant Jenkins