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 servidorUSER: Usuario SSHSSH_KEY: Llave privada