En aquest tema, aprendrem a configurar una pipeline de Integració Contínua (CI) a Jenkins. La Integració Contínua és una pràctica de desenvolupament de programari on els desenvolupadors integren el seu codi en un repositori compartit amb freqüència, i cada integració és verificada per una build automatitzada per detectar errors tan aviat com sigui possible.

Objectius d'Aprenentatge

  • Entendre els conceptes bàsics de la Integració Contínua.
  • Configurar una pipeline de CI a Jenkins.
  • Executar i monitorar la pipeline de CI.

Conceptes Bàsics de la Integració Contínua

Abans de començar amb la configuració, és important entendre alguns conceptes clau de la Integració Contínua:

  1. Commit Freqüent: Els desenvolupadors han de fer commits freqüents al repositori de codi.
  2. Build Automatitzada: Cada commit ha de desencadenar una build automatitzada.
  3. Test Automatitzat: Les proves automatitzades s'han d'executar com a part de la build.
  4. Feedback Ràpid: Els desenvolupadors han de rebre feedback ràpid sobre l'estat de la build.

Passos per Configurar una Pipeline de CI

  1. Preparació del Repositori de Codi

Assegura't que el teu repositori de codi estigui configurat correctament i que tingui un fitxer de configuració de build (per exemple, un pom.xml per a Maven o un build.gradle per a Gradle).

  1. Instal·lació de Plugins Necessaris

Jenkins té una gran varietat de plugins que poden ser útils per a la CI. Alguns dels plugins més comuns són:

  • Git Plugin: Per integrar Jenkins amb Git.
  • Maven Integration Plugin: Per projectes que utilitzen Maven.
  • Gradle Plugin: Per projectes que utilitzen Gradle.

  1. Creació d'una Nova Feina de Jenkins

  1. Aneu al tauler de Jenkins.
  2. Feu clic a "New Item".
  3. Introduïu un nom per a la feina i seleccioneu "Pipeline".
  4. Feu clic a "OK".

  1. Configuració de la Feina

  1. General:

    • Proporcioneu una descripció per a la feina.
  2. Source Code Management:

    • Seleccioneu "Git".
    • Introduïu l'URL del repositori de Git.
    • Configureu les credencials si és necessari.
  3. Build Triggers:

    • Seleccioneu "Poll SCM" i configureu la freqüència amb la qual Jenkins ha de comprovar els canvis al repositori (per exemple, H/5 * * * * per comprovar cada 5 minuts).
  4. Pipeline:

    • Seleccioneu "Pipeline script from SCM".
    • Seleccioneu "Git" com a SCM.
    • Introduïu l'URL del repositori de Git.
    • Introduïu el camí al fitxer Jenkinsfile (per exemple, Jenkinsfile).

  1. Creació del Jenkinsfile

El Jenkinsfile defineix la pipeline de CI. A continuació es mostra un exemple bàsic per a un projecte Maven:

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                git 'https://github.com/usuari/repo.git'
            }
        }
        stage('Build') {
            steps {
                sh 'mvn clean install'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
    }

    post {
        always {
            junit '**/target/surefire-reports/*.xml'
        }
    }
}

  1. Executar la Pipeline

  1. Des del tauler de Jenkins, seleccioneu la feina que heu creat.
  2. Feu clic a "Build Now".
  3. Monitoritzeu l'execució de la pipeline a la secció "Build History".

Exercici Pràctic

Creeu una pipeline de CI per a un projecte de codi obert a GitHub que utilitzi Maven. Seguiu els passos descrits anteriorment i assegureu-vos que la pipeline s'executi correctament.

Solució de l'Exercici

  1. Creeu una nova feina de pipeline a Jenkins.
  2. Configureu el repositori de Git: https://github.com/apache/commons-lang.git.
  3. Configureu el Jenkinsfile amb el següent contingut:
pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                git 'https://github.com/apache/commons-lang.git'
            }
        }
        stage('Build') {
            steps {
                sh 'mvn clean install'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
    }

    post {
        always {
            junit '**/target/surefire-reports/*.xml'
        }
    }
}
  1. Executeu la pipeline i verifiqueu que totes les etapes s'executen correctament.

Resum

En aquest tema, hem après a configurar una pipeline de CI a Jenkins. Hem cobert els conceptes bàsics de la Integració Contínua, els passos per configurar una pipeline i hem creat un Jenkinsfile per definir la pipeline. També hem realitzat un exercici pràctic per reforçar els conceptes apresos. En el següent tema, explorarem com configurar una pipeline de Desplegament Continu (CD).

© Copyright 2024. Tots els drets reservats