En este módulo aprenderás:
- Configura GitHub Actions para correr linters, tests con Vitest y desplegar a Cloudflare Pages.
- Comandos y configuraciones clave para 10. CI/CD con GitHub Actions
- Ejercicios prácticos listos para probar en tu terminal local
Habla causa: De tu celular a producción sin tocar servidores
Mano, el verdadero poder de programar desde el móvil se desbloquea cuando combinas git push con pipelines de CI/CD. Tú solo haces commit desde tu teléfono y los servidores de GitHub se encargan de validar el formato con Biome, correr los tests con Vitest y desplegar de frente a producción sin tocar nada.
1. Workflow de Validación (.github/workflows/ci.yml)
Crea este archivo en la raíz de tu repositorio:
name: CI Quality Gate
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
verify:
runs-on: ubuntu-latest
steps:
- name: Checkout código
uses: actions/checkout@v4
- name: Instalar pnpm
uses: pnpm/action-setup@v3
with:
version: 9
- name: Configurar Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
- name: Instalar dependencias
run: pnpm install --frozen-lockfile
- name: Validar tipos y linter
run: pnpm run check
- name: Ejecutar tests unitarios
run: pnpm test
2. Despliegue Automático a Cloudflare Pages
Cloudflare Pages se integra nativamente con GitHub:
- Entra a tu panel de Cloudflare Dashboard > Workers & Pages.
- Selecciona Create application > Pages > Connect to Git.
- Selecciona tu repositorio y define los parámetros de build:
- Framework preset:
Astro - Build command:
pnpm build - Output directory:
dist
- Framework preset:
Cada vez que hagas git push desde tu terminal móvil en Termux, Cloudflare generará una URL de previsualización para tus ramas y desplegará en segundos a tu dominio de producción.
name: Cloudflare Pages Direct Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
- uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
- run: pnpm install
- run: pnpm build
- name: Publish to Cloudflare Pages
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy dist --project-name=mi-web-app
Monitoreo desde la Terminal
Puedes chequear el estado del deploy directamente desde tu celular con gh run list y gh run view.
Reto Ninja de la Lección 🥷
Pon a prueba tu conocimiento en CI/CD y despliegue continuo en la nube:
¿Qué comando de GitHub CLI (gh) te permite revisar el estado y progreso de tus workflows de GitHub Actions?
Ejercicio Práctico Ninja 🥷
- Agrega el archivo
.github/workflows/ci.ymla tu proyecto. - Haz
git commit -m "ci: add quality gate"y sube congit push. - Ejecuta
gh run listpara ver cómo GitHub ejecuta tus tests en la nube.
¿Terminaste esta lección?
Marca tu progreso para sincronizar el avance en tu navegador.