Saltar al contenido principal
MDev Env Pro
Guía: Guía Termux - Estación Móvil91% Completado

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.

GitHub Actions CI/CDCloudflare Pages DeployTests & Lint Automatizados

1. Workflow de Validación (.github/workflows/ci.yml)

Crea este archivo en la raíz de tu repositorio:

.github/workflows/ci.ymlyaml
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:

  1. Entra a tu panel de Cloudflare Dashboard > Workers & Pages.
  2. Selecciona Create application > Pages > Connect to Git.
  3. Selecciona tu repositorio y define los parámetros de build:
    • Framework preset: Astro
    • Build command: pnpm build
    • Output directory: dist

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.

.github/workflows/deploy.ymlyaml
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

Reto Ninja de la Lección 🥷

Pon a prueba tu conocimiento en CI/CD y despliegue continuo en la nube:

Reto Ninja: CI/CD & Deploy 🚀
Pregunta 1/3
❯reto --step=1

¿Qué comando de GitHub CLI (gh) te permite revisar el estado y progreso de tus workflows de GitHub Actions?

Ejercicio Práctico Ninja 🥷

  1. Agrega el archivo .github/workflows/ci.yml a tu proyecto.
  2. Haz git commit -m "ci: add quality gate" y sube con git push.
  3. Ejecuta gh run list para ver cómo GitHub ejecuta tus tests en la nube.

¿Terminaste esta lección?

Marca tu progreso para sincronizar el avance en tu navegador.