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
-
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'
-
Actualitzar els paquets i instal·lar Jenkins:
sudo apt-get update sudo apt-get install jenkins
-
Iniciar el servei de Jenkins:
sudo systemctl start jenkins
-
Verificar que Jenkins s'està executant:
sudo systemctl status jenkins
Accés a la Interfície Web
-
Obrir el navegador i accedir a:
http://localhost:8080
-
Desbloquejar Jenkins:
- Localitza la contrasenya inicial:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- Introdueix la contrasenya a la interfície web.
- Localitza la contrasenya inicial:
-
Instal·lar plugins recomanats i crear el primer usuari administrador.
Configuració Bàsica de Jenkins
Configuració d'un Job de Construcció
-
Crear un nou Job:
- A la pàgina principal de Jenkins, selecciona "New Item".
- Introdueix un nom per al Job i selecciona "Freestyle project".
-
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
Integració amb GitHub
-
Configurar les credencials de GitHub:
- A "Manage Jenkins" > "Manage Credentials", afegeix les credencials de GitHub.
-
Configurar el repositori de GitHub al Job:
- A "Source Code Management", selecciona "Git" i introdueix l'URL del repositori i les credencials.
-
Configurar Webhooks a GitHub:
- A la configuració del repositori de GitHub, afegeix un webhook amb l'URL:
http://<jenkins-server>/github-webhook/
- A la configuració del repositori de GitHub, afegeix un webhook amb l'URL:
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
- Anar a "Manage Jenkins" > "Manage Plugins".
- Seleccionar la pestanya "Available".
- Buscar i seleccionar els plugins desitjats.
- 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
-
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".
-
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' } } } }
- 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.
Curs de CI/CD: Integració i Desplegament Continu
Mòdul 1: Introducció a CI/CD
Mòdul 2: Integració Contínua (CI)
- Introducció a la Integració Contínua
- Configuració d'un Entorn de CI
- Automatització de la Construcció
- Proves Automatitzades
- Integració amb Control de Versions
Mòdul 3: Desplegament Continu (CD)
- Introducció al Desplegament Continu
- Automatització del Desplegament
- Estratègies de Desplegament
- Monitoratge i Retroalimentació
Mòdul 4: Pràctiques Avançades de CI/CD
Mòdul 5: Implementació de CI/CD en Projectes Reals
Mòdul 6: Eines i Tecnologies
Mòdul 7: Exercicis Pràctics
- Exercici 1: Configuració d'un Pipeline Bàsic
- Exercici 2: Integració de Proves Automatitzades
- Exercici 3: Desplegament en un Entorn de Producció
- Exercici 4: Monitoratge i Retroalimentació