Introducció
Integrar Jenkins amb sistemes de control de versions (VCS) és essencial per automatitzar el procés de construcció, prova i desplegament del codi. Els VCS més comuns inclouen Git, Subversion (SVN), Mercurial, entre d'altres. En aquest tema, ens centrarem principalment en la integració amb Git, ja que és el VCS més utilitzat actualment.
Objectius
- Entendre la importància de la integració de Jenkins amb VCS.
- Aprendre a configurar Jenkins per treballar amb Git.
- Crear una feina de Jenkins que cloni un repositori de Git i executi una construcció.
Conceptes Clau
- VCS (Version Control System): Sistema que permet gestionar els canvis en el codi font al llarg del temps.
- Repositori: Emmagatzematge centralitzat del codi font.
- Branch: Una línia de desenvolupament dins d'un repositori.
- Commit: Un canvi guardat en el repositori.
Configuració de Jenkins per Treballar amb Git
- Instal·lació del Plugin de Git
Per integrar Jenkins amb Git, primer hem d'assegurar-nos que el plugin de Git està instal·lat.
- Navega a Manage Jenkins > Manage Plugins.
- A la pestanya Available, cerca "Git Plugin".
- Selecciona el plugin i fes clic a Install without restart.
- Configuració Global de Git
Després d'instal·lar el plugin, hem de configurar Git a nivell global.
- Navega a Manage Jenkins > Global Tool Configuration.
- A la secció Git, fes clic a Add Git.
- Proporciona un nom i la ruta a l'executable de Git (per exemple,
/usr/bin/git
).
- Creació d'una Feina de Jenkins amb Git
Ara que tenim Git configurat, crearem una feina de Jenkins que cloni un repositori de Git i executi una construcció.
- Navega a la pàgina principal de Jenkins i fes clic a New Item.
- Proporciona un nom per a la feina i selecciona Freestyle project.
- A la secció Source Code Management, selecciona Git.
- Proporciona l'URL del repositori de Git (per exemple,
https://github.com/usuari/repo.git
). - Si el repositori requereix autenticació, proporciona les credencials necessàries.
- A la secció Build Triggers, selecciona Poll SCM i proporciona un cron (per exemple,
H/5 * * * *
per verificar canvis cada 5 minuts). - A la secció Build, afegeix un pas de construcció (per exemple, Execute shell) i proporciona el codi necessari per construir el projecte (per exemple,
make
o./build.sh
).
Exemple de Configuració
pipeline { agent any stages { stage('Checkout') { steps { git url: 'https://github.com/usuari/repo.git', branch: 'main' } } stage('Build') { steps { sh 'make' } } } }
Exercici Pràctic
Objectiu
Crear una feina de Jenkins que cloni un repositori de Git i executi una construcció bàsica.
Passos
- Instal·la el plugin de Git a Jenkins.
- Configura Git a nivell global.
- Crea una nova feina de Jenkins.
- Configura la feina per clonar un repositori de Git.
- Afegeix un pas de construcció que executi un script de construcció.
Solució
- Instal·la el plugin de Git seguint els passos descrits anteriorment.
- Configura Git a nivell global seguint els passos descrits anteriorment.
- Crea una nova feina de Jenkins anomenada
MyGitProject
. - A la secció Source Code Management, selecciona Git i proporciona l'URL del repositori.
- Afegeix un pas de construcció que executi un script de construcció, per exemple:
Errors Comuns i Consells
- Error d'Autenticació: Assegura't que les credencials proporcionades són correctes i tenen accés al repositori.
- URL Incorrecta: Verifica que l'URL del repositori és correcta i accessible des del servidor Jenkins.
- Problemes de Permisos: Assegura't que l'usuari que executa Jenkins té els permisos necessaris per accedir al repositori i executar les comandes de construcció.
Conclusió
Integrar Jenkins amb sistemes de control de versions és un pas fonamental per automatitzar el procés de desenvolupament. En aquest tema, hem après a configurar Jenkins per treballar amb Git, crear una feina que cloni un repositori i executi una construcció. Aquest coneixement és essencial per a la implementació de pipelines de CI/CD eficients.
En el següent tema, explorarem com integrar Jenkins amb eines de compilació per automatitzar encara més el procés de construcció del codi.
Jenkins: De Principiant a Avançat
Mòdul 1: Introducció a Jenkins
Mòdul 2: Conceptes Bàsics de Jenkins
- Visió General del Tauler de Jenkins
- Creant i Executant Feines
- Entenent les Pipelines de Jenkins
- Utilitzant Plugins de Jenkins
Mòdul 3: Pipelines de Jenkins
- Pipeline com a Codi
- Pipelines Declaratives vs Scriptades
- Creant una Pipeline Simple
- Sintaxi de Pipeline
Mòdul 4: Pipelines Avançades de Jenkins
- Etapes i Passos de Pipeline
- Execució Paral·lela en Pipelines
- Utilitzant Variables d'Entorn
- Millors Pràctiques de Pipeline
Mòdul 5: Administració de Jenkins
- Gestionant Nodes de Jenkins
- Configurant la Seguretat
- Còpia de Seguretat i Restauració de Jenkins
- Monitorant Jenkins
Mòdul 6: Integrant Jenkins
- Integració amb Sistemes de Control de Versions
- Integració amb Eines de Compilació
- Integració amb Eines de Prova
- Integració amb Eines de Desplegament
Mòdul 7: Jenkins per a la Integració i el Lliurament Continu (CI/CD)
- Entenent CI/CD
- Configurant una Pipeline de CI
- Configurant una Pipeline de CD
- Automatitzant Desplegaments
Mòdul 8: Temes Avançats de Jenkins
- Utilitzant Jenkins amb Docker
- Jenkins i Kubernetes
- Jenkins com a Codi amb Jenkinsfile
- Escalant Jenkins