⚙️

CI/CD con GitHub Actions

👨‍🍳 Chef⏱️ 30 minutos

📋 Prerequisitos sugeridos

  • GitHub repo
  • Docker deploy

Lo que vas a construir

Un pipeline de CI/CD que automaticamente ejecuta tus tests y despliega tu aplicacion cada vez que haces push a la rama main. Configuraras un workflow de GitHub Actions que corre en servidores de GitHub, ejecuta tu suite de tests, construye la imagen Docker y la despliega a tu VPS via SSH. Al terminar, tendras deploys automaticos y confiables donde solo necesitas hacer git push para ver tus cambios en produccion.


Paso 1: Pídele a una IA el workflow

Necesito un workflow de GitHub Actions que:
- Corra en push a main
- Ejecute tests
- Build de Docker
- Deploy a VPS via SSH
- Notifique en Slack si falla

Dame el archivo .yml completo.

Workflow

# .github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm ci && npm test

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy
        uses: appleboy/ssh-action@v1
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USER }}
          key: ${{ secrets.SSH_KEY }}
          script: |
            cd /app
            git pull
            docker compose up -d --build

Secretos necesarios

  • HOST: IP del servidor
  • USER: Usuario SSH
  • SSH_KEY: Llave privada

Próximo paso

Testing de APIs