Introducció a CircleCI
CircleCI és una eina de CI/CD basada en el núvol que permet als desenvolupadors automatitzar la construcció, prova i desplegament del seu programari. És coneguda per la seva facilitat d'ús, integració amb diverses plataformes i capacitat de personalització.
Característiques Principals de CircleCI
- Integració amb GitHub i Bitbucket: CircleCI es pot integrar fàcilment amb repositoris de codi font allotjats en GitHub i Bitbucket.
- Configuració basada en YAML: Els pipelines de CI/CD es configuren mitjançant un fitxer YAML (
.circleci/config.yml
). - Execució en contenidors: Utilitza contenidors Docker per executar les tasques, permetent un entorn consistent i replicable.
- Escalabilitat: Pot escalar automàticament per gestionar múltiples construccions simultànies.
- Suport per a múltiples llenguatges: Compatible amb una àmplia gamma de llenguatges de programació i plataformes.
Configuració de CircleCI
Pas 1: Crear un compte
- Visita CircleCI i crea un compte. Pots utilitzar el teu compte de GitHub o Bitbucket per registrar-te.
Pas 2: Integrar un Repositori
- Un cop registrat, connecta el teu compte de GitHub o Bitbucket amb CircleCI.
- Selecciona el repositori que vols integrar amb CircleCI.
Pas 3: Crear el fitxer de configuració
- Al directori arrel del teu projecte, crea una carpeta anomenada
.circleci
. - Dins d'aquesta carpeta, crea un fitxer anomenat
config.yml
.
Exemple de Configuració Bàsica
A continuació es mostra un exemple bàsic d'un fitxer config.yml
per a un projecte Node.js:
version: 2.1 jobs: build: docker: - image: circleci/node:12 steps: - checkout - run: name: Instal·lar dependències command: npm install - run: name: Executar proves command: npm test workflows: version: 2 build_and_test: jobs: - build
Explicació del Fitxer de Configuració
- version: Especifica la versió de configuració de CircleCI.
- jobs: Defineix les tasques a realitzar. En aquest cas, hi ha una tasca anomenada
build
.- docker: Especifica la imatge Docker a utilitzar per a l'entorn d'execució.
- steps: Defineix els passos dins de la tasca. Aquí es realitzen tres passos:
- checkout: Clona el repositori.
- run: Executa una comanda. En aquest cas, instal·la les dependències i executa les proves.
- workflows: Defineix el flux de treball. En aquest exemple, hi ha un flux de treball anomenat
build_and_test
que executa la tascabuild
.
Exercici Pràctic
Objectiu
Configurar un pipeline bàsic a CircleCI per a un projecte Node.js que inclogui la construcció i execució de proves.
Passos
- Crear el fitxer de configuració: Segueix els passos anteriors per crear el fitxer
.circleci/config.yml
. - Afegir el codi del projecte: Assegura't que el teu projecte Node.js tingui un fitxer
package.json
amb scripts per a instal·lar dependències (npm install
) i executar proves (npm test
). - Pujar els canvis: Puja el fitxer de configuració i qualsevol altre canvi al teu repositori.
Solució
version: 2.1 jobs: build: docker: - image: circleci/node:12 steps: - checkout - run: name: Instal·lar dependències command: npm install - run: name: Executar proves command: npm test workflows: version: 2 build_and_test: jobs: - build
Verificació
- Un cop pujats els canvis, CircleCI detectarà automàticament el fitxer de configuració i iniciarà el pipeline.
- Pots verificar l'estat del pipeline a través del tauler de control de CircleCI.
Errors Comuns i Consells
- Error de sintaxi en el fitxer YAML: Assegura't que el fitxer
config.yml
està correctament formatat. Utilitza un editor de text que suporti la validació de YAML. - Problemes amb les dependències: Si les dependències no s'instal·len correctament, revisa el fitxer
package.json
i assegura't que totes les dependències necessàries estan especificades. - Execució de proves fallida: Si les proves fallen, revisa els logs proporcionats per CircleCI per identificar i corregir els errors.
Resum
En aquesta secció, hem après a configurar un pipeline bàsic a CircleCI per a un projecte Node.js. Hem vist com crear un fitxer de configuració config.yml
, definir les tasques i passos necessaris, i verificar l'execució del pipeline. Amb aquesta base, pots començar a explorar funcionalitats més avançades de CircleCI per millorar el teu flux de treball 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ó