La integració contínua (CI) i el desplegament continu (CD) són pràctiques essencials en el desenvolupament de microserveis. Aquestes pràctiques permeten als equips de desenvolupament lliurar codi de manera més ràpida i fiable. En aquest tema, explorarem els conceptes clau de CI/CD, les eines més utilitzades i com implementar un pipeline de CI/CD per a microserveis.

Conceptes Clau de CI/CD

Integració Contínua (CI)

La integració contínua és una pràctica de desenvolupament de programari on els desenvolupadors integren el seu codi en un repositori compartit diverses vegades al dia. Cada integració és verificada per una build automatitzada (incloent proves) per detectar errors tan aviat com sigui possible.

Beneficis de la CI:

  • Detecció primerenca d'errors.
  • Reducció de conflictes d'integració.
  • Millora de la qualitat del codi.

Desplegament Continu (CD)

El desplegament continu és una extensió de la CI que permet desplegar automàticament cada canvi que passa les proves a un entorn de producció. Això assegura que el programari sempre estigui en un estat desplegable.

Beneficis del CD:

  • Desplegaments més ràpids i freqüents.
  • Reducció del risc de desplegament.
  • Feedback ràpid dels usuaris.

Eines per a CI/CD

Jenkins

Jenkins és una eina d'automatització de codi obert que permet la integració contínua i el desplegament continu. És molt flexible i té una gran comunitat de suport.

GitLab CI/CD

GitLab CI/CD és una eina integrada en GitLab que permet definir pipelines de CI/CD directament en el repositori de codi.

CircleCI

CircleCI és una eina de CI/CD basada en el núvol que permet configurar pipelines de manera senzilla i ràpida.

Travis CI

Travis CI és una altra eina de CI/CD basada en el núvol que s'integra fàcilment amb GitHub.

Implementació d'un Pipeline de CI/CD per a Microserveis

  1. Configuració del Repositori

El primer pas és configurar el repositori de codi per suportar CI/CD. Això inclou la creació d'un fitxer de configuració per a l'eina de CI/CD que utilitzarem.

Exemple de fitxer .gitlab-ci.yml per a GitLab CI/CD:

stages:
  - build
  - test
  - deploy

build:
  stage: build
  script:
    - echo "Building the application..."
    - ./gradlew build

test:
  stage: test
  script:
    - echo "Running tests..."
    - ./gradlew test

deploy:
  stage: deploy
  script:
    - echo "Deploying the application..."
    - ./deploy.sh
  only:
    - master

  1. Construcció i Proves

El pipeline de CI/CD ha de començar amb la construcció del codi i l'execució de les proves unitàries. Això assegura que el codi és funcional abans de passar a les següents etapes.

  1. Desplegament a Entorns de Prova

Després de passar les proves, el codi es desplega a un entorn de prova per a proves d'integració i validació.

  1. Desplegament a Producció

Finalment, si totes les proves són exitoses, el codi es desplega a l'entorn de producció.

Exercici Pràctic

Objectiu

Configurar un pipeline de CI/CD per a un microservei utilitzant GitLab CI/CD.

Passos

  1. Crear un Repositori a GitLab:

    • Crea un nou projecte a GitLab.
    • Afegeix el codi del teu microservei al repositori.
  2. Configurar el Fitxer .gitlab-ci.yml:

    • Afegeix un fitxer .gitlab-ci.yml al repositori amb el següent contingut:
    stages:
      - build
      - test
      - deploy
    
    build:
      stage: build
      script:
        - echo "Building the application..."
        - ./gradlew build
    
    test:
      stage: test
      script:
        - echo "Running tests..."
        - ./gradlew test
    
    deploy:
      stage: deploy
      script:
        - echo "Deploying the application..."
        - ./deploy.sh
      only:
        - master
    
  3. Executar el Pipeline:

    • Fes un commit i puja els canvis al repositori.
    • Observa com GitLab CI/CD executa el pipeline automàticament.

Solució

El pipeline hauria de passar per les etapes de build, test i deploy sense errors. Si hi ha errors, revisa els logs proporcionats per GitLab CI/CD per identificar i corregir els problemes.

Resum

En aquesta secció, hem après els conceptes clau de CI/CD i com implementar un pipeline de CI/CD per a microserveis utilitzant GitLab CI/CD. Hem vist com configurar el repositori, definir les etapes del pipeline i desplegar el codi automàticament. Aquestes pràctiques són essencials per assegurar un desenvolupament àgil i fiable de microserveis.

© Copyright 2024. Tots els drets reservats