Introducció a Travis CI
Travis CI és una eina de CI/CD basada en el núvol que permet als desenvolupadors automatitzar la construcció i les proves del seu codi. És especialment popular entre els projectes de codi obert i ofereix una integració senzilla amb GitHub.
Conceptes Clau
- Integració amb GitHub: Travis CI es connecta directament amb els repositoris de GitHub per detectar canvis i iniciar construccions automàticament.
- Fitxer de Configuració
.travis.yml
: La configuració de Travis CI es defineix en un fitxer YAML que es col·loca a l'arrel del repositori. - Entorns de Construcció: Travis CI proporciona entorns de construcció preconfigurats per a diferents llenguatges de programació.
- Construccions Paral·leles: Permet executar múltiples construccions en paral·lel per reduir el temps total de construcció.
Configuració de Travis CI
Pas 1: Registre i Integració amb GitHub
- Registra't a Travis CI utilitzant el teu compte de GitHub.
- Autoritza Travis CI a accedir als teus repositoris de GitHub.
- Activa Travis CI per al repositori desitjat des del tauler de control de Travis CI.
Pas 2: Crear el Fitxer .travis.yml
El fitxer .travis.yml
és el cor de la configuració de Travis CI. Aquí tens un exemple bàsic per a un projecte en Node.js:
Explicació del Fitxer .travis.yml
- language: Especifica el llenguatge de programació del projecte.
- node_js: Defineix la versió de Node.js a utilitzar.
- script: Llista de comandes a executar durant la construcció.
Pas 3: Provar la Configuració
- Fes un commit del fitxer
.travis.yml
al teu repositori. - Travis CI detectarà el nou fitxer i iniciarà una construcció automàticament.
- Pots veure l'estat de la construcció al tauler de control de Travis CI o a la pàgina del repositori a GitHub.
Funcionalitats Avançades
Matrius de Construcció
Les matrius de construcció permeten provar el codi en múltiples entorns. Aquí tens un exemple per a un projecte en Python:
Desplegament Automàtic
Travis CI pot automatitzar el desplegament del teu codi a diferents serveis. Aquí tens un exemple per desplegar a Heroku:
language: node_js node_js: - "14" script: - npm install - npm test deploy: provider: heroku api_key: secure: YOUR_ENCRYPTED_API_KEY app: your-app-name
Notificacions
Pots configurar Travis CI per enviar notificacions sobre l'estat de les construccions:
notifications: email: recipients: - [email protected] on_success: change on_failure: always
Exercici Pràctic
Objectiu
Configurar Travis CI per a un projecte de Node.js que inclogui proves automatitzades i desplegament a Heroku.
Passos
-
Crear el Fitxer
.travis.yml
:- Defineix el llenguatge i la versió de Node.js.
- Afegeix les comandes per instal·lar dependències i executar proves.
- Configura el desplegament a Heroku.
-
Provar la Configuració:
- Fes un commit del fitxer
.travis.yml
i verifica que Travis CI inicia la construcció. - Revisa els logs de construcció per assegurar-te que tot funciona correctament.
- Fes un commit del fitxer
Solució
language: node_js node_js: - "14" script: - npm install - npm test deploy: provider: heroku api_key: secure: YOUR_ENCRYPTED_API_KEY app: your-app-name notifications: email: recipients: - [email protected] on_success: change on_failure: always
Errors Comuns i Consells
- Error de Sintaxi en
.travis.yml
: Utilitza un validor de YAML per assegurar-te que el fitxer està ben format. - Problemes d'Autenticació amb Heroku: Assegura't que la clau API està correctament encriptada i que tens permisos suficients per desplegar.
- Temps d'Espera Excedit: Si les construccions triguen massa, considera optimitzar els teus scripts o utilitzar construccions paral·leles.
Conclusió
Travis CI és una eina potent i flexible per a la integració i desplegament continu. Amb una configuració senzilla, pots automatitzar la construcció, proves i desplegament del teu codi, millorant així la qualitat i velocitat del desenvolupament.
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ó