En aquest tema, aprendrem a configurar un pipeline d'Integració Contínua (CI). Un pipeline de CI és una sèrie d'etapes que el codi ha de passar abans de ser considerat preparat per a la producció. Aquestes etapes inclouen la compilació, les proves i la validació del codi. Configurar un pipeline de CI adequat és crucial per assegurar la qualitat i la fiabilitat del programari.
Objectius d'Aprenentatge
- Comprendre els components bàsics d'un pipeline de CI.
- Aprendre a configurar un pipeline de CI utilitzant una eina popular.
- Implementar proves automatitzades en el pipeline de CI.
- Executar i monitoritzar el pipeline de CI.
Components Bàsics d'un Pipeline de CI
Un pipeline de CI típic consta de les següents etapes:
- Compilació: El codi font es compila en binaris executables.
- Proves: Les proves automatitzades s'executen per validar el codi.
- Anàlisi de codi: Es realitza una anàlisi estàtica del codi per detectar problemes potencials.
- Distribució: Els binaris es distribueixen a un entorn de prova o producció.
Eines Populars per Configurar un Pipeline de CI
Algunes de les eines més utilitzades per configurar pipelines de CI són:
- Jenkins
- GitLab CI/CD
- Travis CI
- CircleCI
- Azure DevOps Pipelines
En aquest tema, utilitzarem Jenkins com a exemple per configurar un pipeline de CI.
Configuració d'un Pipeline de CI amb Jenkins
Pas 1: Instal·lació de Jenkins
- Descarregar Jenkins: Visita la pàgina oficial de Jenkins i descarrega la versió adequada per al teu sistema operatiu.
- Instal·lar Jenkins: Segueix les instruccions d'instal·lació proporcionades a la pàgina de descàrrega.
- Iniciar Jenkins: Un cop instal·lat, inicia Jenkins i accedeix a la interfície web a través de
http://localhost:8080
.
Pas 2: Configuració Inicial de Jenkins
- Desbloquejar Jenkins: Durant la primera execució, Jenkins et demanarà un codi de desbloqueig que es troba en un fitxer del sistema.
- Instal·lar Plugins Recomanats: Jenkins et suggerirà instal·lar una sèrie de plugins recomanats. Accepta aquesta opció per facilitar la configuració inicial.
- Crear un Usuari Administrador: Crea un usuari administrador per gestionar Jenkins.
Pas 3: Crear un Nou Projecte
- Crear un Nou Element: A la pàgina principal de Jenkins, fes clic a "New Item".
- Nom del Projecte: Dona un nom al teu projecte i selecciona "Freestyle project".
- Configurar el Projecte: Configura les opcions bàsiques del projecte, com ara la descripció i el sistema de control de versions (per exemple, Git).
Pas 4: Configurar les Etapes del Pipeline
- Compilació: Afegeix una etapa de compilació. Per exemple, si estàs utilitzant Maven, pots afegir una comanda de compilació com
mvn clean install
. - Proves: Afegeix una etapa per executar les proves automatitzades. Per exemple,
mvn test
. - Anàlisi de Codi: Afegeix una etapa per executar una anàlisi de codi estàtica. Per exemple, utilitzant SonarQube.
- Distribució: Afegeix una etapa per distribuir els binaris a un entorn de prova o producció.
Exemple de Configuració de Pipeline en Jenkinsfile
pipeline { agent any stages { stage('Compilació') { steps { sh 'mvn clean install' } } stage('Proves') { steps { sh 'mvn test' } } stage('Anàlisi de Codi') { steps { sh 'mvn sonar:sonar' } } stage('Distribució') { steps { sh 'scp target/*.jar user@server:/path/to/deploy' } } } }
Pas 5: Executar i Monitoritzar el Pipeline
- Executar el Pipeline: Un cop configurat, pots executar el pipeline fent clic a "Build Now" a la pàgina del projecte.
- Monitoritzar el Pipeline: Jenkins proporcionarà una interfície per monitoritzar l'estat de cada etapa del pipeline. Pots veure els logs de cada etapa per identificar i solucionar problemes.
Exercici Pràctic
Configura el Teu Propi Pipeline de CI
- Instal·la Jenkins al teu sistema.
- Crea un nou projecte a Jenkins.
- Configura les etapes de compilació, proves, anàlisi de codi i distribució.
- Executa el pipeline i assegura't que totes les etapes es completen correctament.
Solució de l'Exercici
Segueix els passos detallats anteriorment per configurar i executar el teu pipeline de CI. Si tens problemes, revisa els logs de Jenkins per identificar errors i soluciona'ls.
Resum
En aquest tema, hem après a configurar un pipeline de CI utilitzant Jenkins. Hem cobert els components bàsics d'un pipeline de CI, les eines populars per configurar-lo i hem proporcionat un exemple pràctic utilitzant Jenkins. La configuració d'un pipeline de CI és una habilitat essencial per a qualsevol professional de DevOps, ja que ajuda a garantir la qualitat i la fiabilitat del programari.
Curs de DevOps Bàsic
Mòdul 1: Introducció a DevOps
- Què és DevOps?
- Història i evolució de DevOps
- Principis i beneficis de DevOps
- Cultura i mentalitat DevOps
Mòdul 2: Fonaments d'Integració Contínua (CI)
- Conceptes bàsics de CI
- Eines populars de CI
- Configuració d'un pipeline de CI
- Proves automatitzades en CI
Mòdul 3: Fonaments de Lliurament Continu (CD)
- Conceptes bàsics de CD
- Diferències entre CI i CD
- Eines populars de CD
- Configuració d'un pipeline de CD
Mòdul 4: Automatització de Desplegaments
- Introducció a l'automatització de desplegaments
- Eines d'automatització de desplegaments
- Desplegament continu (CD) vs. Lliurament continu (CD)
- Pràctiques recomanades per a l'automatització de desplegaments
Mòdul 5: Col·laboració entre Desenvolupament i Operacions
- Comunicació i col·laboració en equips DevOps
- Eines de col·laboració i gestió de projectes
- Integració de feedback continu
- Casos d'estudi i exemples d'èxit
Mòdul 6: Exercicis Pràctics i Projectes
- Configuració d'un entorn de CI/CD
- Automatització d'un pipeline de desplegament
- Implementació de proves automatitzades
- Projecte final: Implementació completa de CI/CD