Introducció a Jenkins

Jenkins és una eina d'automatització de codi obert escrita en Java, que ajuda a automatitzar parts del procés de desenvolupament de programari relacionades amb la construcció, prova i desplegament continu. És una de les eines més populars per a CI/CD gràcies a la seva flexibilitat, extensibilitat i gran comunitat de suport.

Característiques Clau de Jenkins

  • Codi Obert: Jenkins és gratuït i de codi obert, amb una comunitat activa que contribueix a la seva millora contínua.
  • Extensible: Disposa de més de 1.500 plugins que permeten integrar-se amb gairebé qualsevol eina de desenvolupament.
  • Distribuït: Permet la distribució de càrregues de treball en múltiples màquines, millorant l'eficiència i la velocitat.
  • Facilitat d'ús: Interfície web intuïtiva que facilita la configuració i gestió de pipelines.

Instal·lació de Jenkins

Requisits Previs

  • Java: Jenkins requereix Java 8 o superior. Assegura't de tenir Java instal·lat:
    java -version
    

Instal·lació en un Sistema Linux

  1. Afegir el repositori de Jenkins:

    wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
    sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
    
  2. Actualitzar els paquets i instal·lar Jenkins:

    sudo apt-get update
    sudo apt-get install jenkins
    
  3. Iniciar el servei de Jenkins:

    sudo systemctl start jenkins
    
  4. Verificar que Jenkins s'està executant:

    sudo systemctl status jenkins
    

Accés a la Interfície Web

  1. Obrir el navegador i accedir a:

    http://localhost:8080
    
  2. Desbloquejar Jenkins:

    • Localitza la contrasenya inicial:
      sudo cat /var/lib/jenkins/secrets/initialAdminPassword
      
    • Introdueix la contrasenya a la interfície web.
  3. Instal·lar plugins recomanats i crear el primer usuari administrador.

Configuració Bàsica de Jenkins

Configuració d'un Job de Construcció

  1. Crear un nou Job:

    • A la pàgina principal de Jenkins, selecciona "New Item".
    • Introdueix un nom per al Job i selecciona "Freestyle project".
  2. Configurar el Job:

    • Source Code Management: Configura el repositori de codi (per exemple, Git).
    • Build Triggers: Configura els desencadenants de construcció (per exemple, construcció periòdica, webhook de GitHub).
    • Build: Afegeix passos de construcció (per exemple, executar un script de shell).

Exemple de Configuració de Job

# Script de Shell per a la construcció
echo "Compilant el projecte..."
mvn clean install

Integració amb GitHub

  1. Configurar les credencials de GitHub:

    • A "Manage Jenkins" > "Manage Credentials", afegeix les credencials de GitHub.
  2. Configurar el repositori de GitHub al Job:

    • A "Source Code Management", selecciona "Git" i introdueix l'URL del repositori i les credencials.
  3. Configurar Webhooks a GitHub:

    • A la configuració del repositori de GitHub, afegeix un webhook amb l'URL:
      http://<jenkins-server>/github-webhook/
      

Plugins Essencials de Jenkins

Plugins Recomanats

  • Git Plugin: Per integrar Jenkins amb repositoris Git.
  • Pipeline Plugin: Per crear pipelines de construcció complexos.
  • Blue Ocean: Una interfície moderna per a Jenkins.
  • Docker Plugin: Per integrar Jenkins amb Docker.

Instal·lació de Plugins

  1. Anar a "Manage Jenkins" > "Manage Plugins".
  2. Seleccionar la pestanya "Available".
  3. Buscar i seleccionar els plugins desitjats.
  4. Fer clic a "Install without restart".

Exercici Pràctic: Configuració d'un Pipeline Bàsic

Objectiu

Configurar un pipeline bàsic que cloni un repositori Git, compili el codi i executi proves.

Passos

  1. Crear un nou Job de Pipeline:

    • A la pàgina principal de Jenkins, selecciona "New Item".
    • Introdueix un nom per al Job i selecciona "Pipeline".
  2. Configurar el Pipeline:

    • A la secció "Pipeline", selecciona "Pipeline script" i introdueix el següent codi:
pipeline {
    agent any
    stages {
        stage('Clonar Repositori') {
            steps {
                git 'https://github.com/usuari/repo.git'
            }
        }
        stage('Compilar') {
            steps {
                sh 'mvn clean install'
            }
        }
        stage('Proves') {
            steps {
                sh 'mvn test'
            }
        }
    }
}
  1. Guardar i executar el Job.

Solució

El pipeline hauria de clonar el repositori, compilar el codi i executar les proves automàticament.

Resum

En aquesta secció, hem après què és Jenkins, com instal·lar-lo i configurar-lo, i com crear un Job bàsic de construcció. També hem vist com integrar Jenkins amb GitHub i instal·lar plugins essencials. Finalment, hem configurat un pipeline bàsic per automatitzar el procés de construcció i prova. Amb aquests coneixements, estàs preparat per començar a utilitzar Jenkins en els teus projectes de CI/CD.

© Copyright 2024. Tots els drets reservats