Saltar al contenido

Despliega tu sitio de Astro con Deno

Puedes desplegar un sitio de Astro estático o renderizado bajo demanda utilizando Deno, ya sea en tu propio servidor o en Deno Deploy, un sistema distribuido que ejecuta JavaScript, TypeScript y WebAssembly en el edge, en todo el mundo.

Esta guía incluye instrucciones para ejecutar tu sitio de Astro en tu propio servidor con Deno, y desplegar en Deno Deploy a través de GitHub Actions o la CLI de Deno Deploy.

Esta guía asume que ya tienes Deno instalado.

Tu proyecto de Astro se puede desplegar como un sitio estático o como un sitio renderizado bajo demanda.

Tu proyecto de Astro es un sitio estático por defecto. No necesitas ninguna configuración adicional para desplegar un sitio estático de Astro con Deno, o en Deno Deploy.

Para habilitar el enrutamiento bajo demanda en tu proyecto de Astro usando Deno, y para desplegar en Deno Deploy:

  1. Instala el adaptador @deno/astro-adapter en las dependencias de tu proyecto utilizando tu gestor de paquetes preferido:

    Ventana de la terminal
    npm install @deno/astro-adapter
  2. Actualiza el archivo de configuración de tu proyecto astro.config.mjs con los cambios a continuación.

    astro.config.mjs
    import { defineConfig } from 'astro/config';
    import deno from '@deno/astro-adapter';
    export default defineConfig({
    output: 'server',
    adapter: deno(),
    });
  3. Actualiza tu script preview en package.json con el cambio a continuación.

    package.json
    {
    // ...
    "scripts": {
    "dev": "astro dev",
    "start": "astro dev",
    "build": "astro build",
    "preview": "astro preview"
    "preview": "deno run --allow-net --allow-read --allow-env ./dist/server/entry.mjs"
    }
    }

    Ahora puedes usar este comando para previsualizar tu sitio de Astro de producción localmente con Deno.

    Ventana de la terminal
    npm run preview

Puedes ejecutar tu sitio de Astro en tu propio servidor, o desplegar en Deno Deploy a través de GitHub Actions o utilizando la CLI (interfaz de línea de comandos) de Deno Deploy.

  1. Copia tu proyecto en tu servidor.

  2. Instala las dependencias del proyecto utilizando tu gestor de paquetes preferido:

    Ventana de la terminal
    npm install
  3. Compila tu sitio de Astro con tu gestor de paquetes preferido:

    Ventana de la terminal
    npm run build
  4. Inicia tu aplicación con el siguiente comando:

    Ventana de la terminal
    deno run -A jsr:@std/http/file-server dist

Si tu proyecto está almacenado en GitHub, el sitio web de Deno Deploy te guiará para configurar GitHub Actions para desplegar tu sitio de Astro.

  1. Sube tu código a un repositorio público o privado de GitHub.

  2. Inicia sesión en Deno Deploy con tu cuenta de GitHub y haz clic en New Project (Nuevo proyecto).

  3. Selecciona tu repositorio, la rama desde la que deseas desplegar y selecciona el modo GitHub Action. (Tu sitio de Astro requiere un paso de compilación y no puede usar el modo Automático).

  4. En tu proyecto de Astro, crea un nuevo archivo en .github/workflows/deploy.yml y pega el YAML a continuación. Esto es similar al YAML proporcionado por Deno Deploy, con los pasos adicionales necesarios para tu sitio de Astro.

    .github/workflows/deploy.yml
    name: Deploy
    on: [push]
    jobs:
    deploy:
    name: Deploy
    runs-on: ubuntu-latest
    permissions:
    id-token: write # Needed for auth with Deno Deploy
    contents: read # Needed to clone the repository
    steps:
    - name: Clone repository
    uses: actions/checkout@v6
    # Not using npm? Change `npm ci` to `yarn install` or `pnpm i`
    - name: Install dependencies
    run: npm ci
    # Not using npm? Change `npm run build` to `yarn build` or `pnpm run build`
    - name: Build Astro
    run: npm run build
    - name: Upload to Deno Deploy
    uses: denoland/deployctl@v1
    with:
    project: my-deno-project # TODO: replace with Deno Deploy project name
    entrypoint: jsr:@std/http/file-server
    root: dist
  5. ¡Después de confirmar este archivo YAML y subirlo a GitHub en tu rama de despliegue configurada, el despliegue debería comenzar automáticamente!

    Puedes realizar el seguimiento del progreso utilizando la pestaña “Actions” en la página de tu repositorio de GitHub, o en Deno Deploy.

  1. Instala la CLI de Deno Deploy.

    Ventana de la terminal
    deno install -gArf jsr:@deno/deployctl
  2. Compila tu sitio de Astro con tu gestor de paquetes preferido:

    Ventana de la terminal
    npm run build
  3. ¡Ejecuta deployctl para desplegar!

    Ventana de la terminal
    cd dist && deployctl deploy jsr:@std/http/file-server

    Puedes realizar el seguimiento de todos tus despliegues en Deno Deploy.

  4. (Opcional) Para simplificar la compilación y el despliegue en un solo comando, agrega un script deploy-deno en el archivo package.json.

    package.json
    {
    // ...
    "scripts": {
    "dev": "astro dev",
    "start": "astro dev",
    "build": "astro build",
    "preview": "astro preview",
    "deno-deploy": "npm run build && cd dist && deployctl deploy jsr:@std/http/file-server"
    }
    }

    Luego puedes usar este comando para compilar y desplegar tu sitio de Astro en un solo paso.

    Ventana de la terminal
    npm run deno-deploy

Más guías de implementación

Contribuir Comunidad Patrocinar