Glossan

¿Qué es CI/CD?

También llamado: integración continua, despliegue continuo, entrega continua, pipeline, GitHub Actions

Definición

CI/CD (integración y despliegue continuos) es la práctica de automatizar las pruebas y la publicación del código: cada cambio que se sube al repositorio se comprueba, se construye y, si todo va bien, se despliega solo.

Ejemplo

Un pipeline de GitHub Actions que construye este diccionario con Jekyll y lo sube al hosting por SSH al hacer push en main:

# .github/workflows/deploy.yml
name: Publicar
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          bundler-cache: true
      - run: bin/build
      - name: Subir por rsync
        env:
          SSH_KEY: ${{ secrets.SSH_KEY }}
        run: |
          echo "$SSH_KEY" > key && chmod 600 key
          rsync -az --delete -e "ssh -i key -o StrictHostKeyChecking=accept-new" \
            _site/ usuario@example.com:public_html/

Las credenciales (la clave SSH) se guardan como secretos del repositorio, nunca en el código.

Herramientas habituales

GitHub Actions, GitLab CI/CD, Bitbucket Pipelines, Jenkins, Woodpecker, Drone… La idea es la misma en todas: un archivo en el repositorio describe los pasos.

Errores habituales

¿Tienes un producto o servicio relacionado con CI/CD? Anúnciate en este término.

Términos relacionados

Categorías: DevOps