Zum Inhalt springen

Veröffentliche deine Astro-Website mit Deno

Du kannst eine statische oder serverseitig gerenderte Astro-Seite mittels Deno veröffentlichen, entweder auf Deinem eigenen Server oder auf Deno Deploy, einem verteilten System, das JavaScript, TypeScript und WebAssembly weltweit ausführt.

Dieser Leitfaden enthält Anweisungen dazu, wie Du Deine Astro-Site mittels Deno auf Deinem eigenen Server betreibst sowie zur Bereitstellung in Deno Deploy über GitHub Actions oder die CLI von Deno Deploy.

In dieser Anleitung wird davon ausgegangen, dass du Deno bereits installiert hast.

Dein Astro-Projekt kann als statische Website oder als serverseitig gerenderte Website (SSR) bereitgestellt werden.

Dein Astro-Projekt ist standardmäßig eine statische Website. Du brauchst keine zusätzliche Konfiguration, um eine statische Astro-Site mit Deno zu veröffentlichen oder an Deno Deploy zu übergeben.

So aktivierst du SSR in deinem Astro-Projekt und stellst es mit Deno Deploy bereit:

  1. Installiere den @deno/astro-adapter-Adapter mit deinem bevorzugten Paketmanager als Abhängigkeit deines Projekts.

    Terminal-Fenster
    npm install @deno/astro-adapter
  2. Aktualisiere deine Projektkonfigurationsdatei astro.config.mjs mit den folgenden Änderungen.

    astro.config.mjs
    import { defineConfig } from 'astro/config';
    import deno from '@deno/astro-adapter';
    export default defineConfig({
    output: 'server',
    adapter: deno(),
    });
  3. Aktualisiere dein Preview-Skript in der Datei package.json mit der folgenden Änderung.

    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"
    }
    }

    Du kannst jetzt diesen Befehl verwenden, um deine Astro-Produktionsseite lokal mit Deno zu überprüfen.

    Terminal-Fenster
    npm run preview

Du kannst deine Astro-Site auf Deinem eigenen Server betreiben oder auf Deno Deploy über GitHub Actions oder über das Deno Deploy CLI (Command Line Interface) bereitstellen.

  1. Kopiere Dein Projekt auf Deinen Server.

  2. Installiere die Abhängigkeiten des Projekts mit deinem bevorzugten Paketmanager:

    Terminal-Fenster
    npm install
  3. Erstelle Deine Astro-Site mit deinem bevorzugten Paketmanager:

    Terminal-Fenster
    npm run build
  4. Starte Deine Applikation mit dem folgenden Befehl:

    Terminal-Fenster
    deno run -A jsr:@std/http/file-server dist

Wenn dein Projekt auf GitHub gespeichert ist, führt dich die Deno Deploy-Webseite durch die Einrichtung von GitHub-Aktionen für die Bereitstellung deiner Astro-Seite.

  1. Veröffentliche deinen Code in einem öffentlichen oder privaten GitHub-Repository.

  2. Melde dich auf Deno Deploy mit deinem GitHub-Konto an und klicke auf Neues Projekt.

  3. Wähle dein Repository und den Branch aus, den du bereitstellen möchtest, und wähle den Modus GitHub Action. (Deine Astro-Seite benötigt einen Build-Schritt und kann den automatischen Modus nicht verwenden.)

  4. Erstelle in deinem Astro-Projekt eine neue Datei unter .github/workflows/deploy.yml und füge die unten stehende YAML ein. Diese Datei ähnelt der YAML-Datei von Deno Deploy, mit den zusätzlichen Schritten, die du für deine Astro-Seite benötigst.

    .github/workflows/deploy.yml
    name: Deploy
    on: [push]
    jobs:
    deploy:
    name: Deploy
    runs-on: ubuntu-latest
    permissions:
    id-token: write # Benötigt für die Autorisierung mit Deno Deploy
    contents: read # Benötigt, um das Repository zu klonen
    steps:
    - name: Clone repository
    uses: actions/checkout@v6
    # Du benutzt kein npm? Ändere `npm ci` in `yarn install` oder `pnpm i`
    - name: Install dependencies
    run: npm ci
    # Du benutzt kein npm? Ändere `npm run build` in `yarn build` oder `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: durch Deno Deploy Projektnamen ersetzen
    entrypoint: jsr:@std/http/file-server
    root: dist
  5. Nachdem du diese YAML-Datei übertragen und auf GitHub in deinem konfigurierten Veröffentlichungs-Branch gepusht hast, sollte die Veröffentlichung automatisch beginnen!

    Du kannst den Fortschritt auf der Registerkarte “Aktionen” auf deiner GitHub-Repository-Seite oder auf Deno Deploy verfolgen.

  1. Installiere das Deno Deploy CLI.

    Terminal-Fenster
    deno install -gArf jsr:@deno/deployctl
  2. Erstelle Deine Astro-Site mit Deinem bevorzugten Paketmanager:

    Terminal-Fenster
    npm run build
  3. Führe deployctl zum Veröffentlichen aus!

    Terminal-Fenster
    cd dist && deployctl deploy jsr:@std/http/file-server

    Du kannst alle deine Veröffentlichungen auf Deno Deploy verfolgen.

  4. (Optional) Um den Build und die Veröffentlichung in einem Befehl zu vereinfachen, füge ein deploy-deno Skript in die package.json ein.

    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"
    }
    }

    Dann kannst du diesen Befehl verwenden, um deine Astro-Seite in einem Schritt zu erstellen und veröffentlichen.

    Terminal-Fenster
    npm run deno-deploy

Weitere Veröffentlichungs-Anleitungen

Wirke mit Community Sponsor