En aquest tema, aprendrem com configurar un pipeline de Lliurament Continu (CD) per automatitzar el procés de desplegament de codi des de l'entorn de desenvolupament fins a l'entorn de producció. Un pipeline de CD ben configurat permet desplegar canvis de manera ràpida i segura, minimitzant els errors humans i millorant la qualitat del programari.

Objectius d'Aprenentatge

  • Comprendre els components clau d'un pipeline de CD.
  • Configurar un pipeline de CD utilitzant una eina popular.
  • Implementar pràctiques recomanades per assegurar un desplegament eficient i segur.

Components Clau d'un Pipeline de CD

Un pipeline de CD típic inclou els següents components:

  1. Control de Versions: Emmagatzema el codi font i permet la col·laboració entre desenvolupadors.
  2. Integració Contínua (CI): Compila i prova el codi automàticament cada vegada que es fan canvis.
  3. Desplegament Automatitzat: Desplega el codi a diferents entorns (staging, producció) de manera automatitzada.
  4. Proves de Desplegament: Executa proves per assegurar que el desplegament ha estat exitós.
  5. Monitorització i Feedback: Monitoritza el desplegament i proporciona feedback continu.

Configuració d'un Pipeline de CD amb Jenkins

Pas 1: Instal·lació de Jenkins

  1. Descarrega i instal·la Jenkins des del lloc oficial.
  2. Inicia Jenkins i accedeix a la interfície web a través de http://localhost:8080.

Pas 2: Configuració del Projecte

  1. Crea un nou projecte:

    • A la pàgina principal de Jenkins, selecciona "New Item".
    • Dona un nom al projecte i selecciona "Pipeline".
  2. Configura el repositori de codi:

    • A la configuració del projecte, selecciona "Pipeline" i després "Pipeline script from SCM".
    • Selecciona "Git" i introdueix l'URL del teu repositori.

Pas 3: Definició del Pipeline

  1. Crea un fitxer Jenkinsfile al teu repositori amb el següent contingut bàsic:

    pipeline {
        agent any
    
        stages {
            stage('Build') {
                steps {
                    echo 'Building...'
                    // Afegeix aquí els passos per compilar el teu codi
                }
            }
            stage('Test') {
                steps {
                    echo 'Testing...'
                    // Afegeix aquí els passos per executar les proves
                }
            }
            stage('Deploy') {
                steps {
                    echo 'Deploying...'
                    // Afegeix aquí els passos per desplegar el codi
                }
            }
        }
    }
    
  2. Personalitza el Jenkinsfile segons les necessitats del teu projecte:

    • Build: Afegeix els passos necessaris per compilar el teu codi.
    • Test: Inclou les proves automatitzades que vols executar.
    • Deploy: Defineix els passos per desplegar el codi a l'entorn desitjat.

Pas 4: Execució del Pipeline

  1. Desa i executa el pipeline:

    • Desa els canvis al Jenkinsfile i puja'l al teu repositori.
    • A la pàgina del projecte a Jenkins, selecciona "Build Now" per iniciar el pipeline.
  2. Monitoritza l'execució:

    • Observa els logs de cada etapa per assegurar-te que tot funciona correctament.
    • Si hi ha errors, revisa els logs per identificar i solucionar els problemes.

Pràctiques Recomanades

  • Automatitza totes les proves: Assegura't que totes les proves es poden executar de manera automatitzada.
  • Utilitza entorns de staging: Desplega primer a un entorn de staging abans de producció per detectar possibles problemes.
  • Implementa rollback: Configura mecanismes per revertir desplegaments fallits de manera ràpida.
  • Monitoritza contínuament: Utilitza eines de monitorització per detectar problemes en temps real i rebre feedback continu.

Exercici Pràctic

Configura un Pipeline de CD amb Jenkins

  1. Crea un repositori de codi amb un projecte simple (pot ser un projecte web bàsic).
  2. Defineix un Jenkinsfile amb les etapes de build, test i deploy.
  3. Configura Jenkins per executar el pipeline cada vegada que es faci un canvi al repositori.
  4. Executa el pipeline i assegura't que totes les etapes es completen correctament.

Solució

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo 'Building...'
                sh 'make build' // Exemple de com compilar el codi
            }
        }
        stage('Test') {
            steps {
                echo 'Testing...'
                sh 'make test' // Exemple de com executar les proves
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying...'
                sh 'make deploy' // Exemple de com desplegar el codi
            }
        }
    }
}

Conclusió

En aquesta secció, hem après com configurar un pipeline de CD utilitzant Jenkins, una de les eines més populars en l'àmbit de DevOps. Hem vist els components clau d'un pipeline de CD, com definir un Jenkinsfile i les pràctiques recomanades per assegurar un desplegament eficient i segur. Amb aquesta base, estàs preparat per implementar pipelines de CD en els teus projectes i millorar el procés de desplegament del teu programari.

© Copyright 2024. Tots els drets reservats