Veröffentliche deine Astro-Website bei GitHub Pages
Du kannst GitHub Pages verwenden, um eine Astro-Website direkt von einem Repository auf GitHub.com zu hosten.
Wie du sie veröffentlichst
Du kannst eine Astro-Website bei GitHub Pages veröffentlichen, indem du GitHub Actions verwendest und so deine Website automatisch erzeugst und veröffentlichst. Um dies zu erreichen, muss dein Quelltext auf GitHub liegen.
Astro pflegt die offizielle withastro/action
, welche dein Projekt mit minimaler Konfiguration veröffentlicht. Folge den unten angeführten Anweisungen, um deine Astro-Website bei GitHub Pages zu veröffentlichen, und lies die README des Pakets, falls du mehr Informationen benötigst.
-
Setze die Optionen
site
(EN) und bei Bedarf auchbase
(EN) inastro.config.mjs
.site
sollte in etwahttps://<DEIN_NUTZERNAME>.github.io
entsprechenbase
sollte ein Schrägstrich gefolgt vom Namen deines Repositories sein, zum Beispiel/mein-repository
.
Falls dein Repository
<DEIN_NUTZERNAME>.github.io
heißt, benötigst du die Optionbase
nicht. -
Erstelle eine neue Datei
.github/workflows/deploy.yml
in deinem Projekt und füge den folgenden YAML-Code ein:name: GitHub Pages Astro CIon:# Löst den Workflow bei jedem Push auf den `main`-Branch aus# Verwendest du einen anderen Branch-Namen? Ersetze `main` durch den Namen deines Branchespush:branches: [ main ]# Erlaubt es dir, diesen Workflow manuell über den Actions-Tab auf GitHub zu startenworkflow_dispatch:# Erlaubt diesem Job das Repository zu klonen und eine Veröffentlichung bei GitHub Pages zu erstellenpermissions:contents: readpages: writeid-token: writejobs:build:runs-on: ubuntu-lateststeps:- name: Checke dein Repository mit Git aususes: actions/checkout@v2- name: Installiere Abhängigkeiten, erzeuge deine Website und lade sie hochuses: withastro/action@v0deploy:needs: buildruns-on: ubuntu-latestenvironment:name: github-pagesurl: ${{ steps.deployment.outputs.page_url }}steps:- name: Bei GitHub Pages veröffentlichenid: deploymentuses: actions/deploy-pages@v1Die offizielle Astro-Action sucht nach einem Lockfile, um deinen bevorzugten Paketmanager (
npm
,yarn
oderpnpm
) zu erkennen. Du solltest die von deinem Paketmanager automatisch generierte Dateipackage-lock.json
,yarn.lock
oderpnpm-lock.yaml
zu deinem Repository hinzufügen. -
Committe die neue Workflow-Datei und pushe sie zu GitHub.
-
Gehe auf GitHub zum Tab Settings deines Repositories und suche den Abschnitt Pages.
-
Wähle den
gh-pages
-Branch und das"/" (root)
-Verzeichnis als Source deiner Website aus und drücke Save.
Deine Website sollte jetzt veröffentlicht sein! Wenn du Änderungen an deinem Astro-Projekt zu deinem Repository pushst, wird die GitHub Action diese automatisch veröffentlichen.
Optional kannst du eine benutzerdefinierte Domäne einrichten, indem du die folgende Datei ./public/CNAME
zu deinem Projekt hinzufügst:
sub.meine-domain.de
Dadurch wird deine Website auf deiner benutzerdefinierten Domäne veröffentlicht, und nicht auf <DEIN_NUTZERNAME>.github.io
. Vergiss nicht, auch den DNS-Eintrag deines Domänen-Anbieters anzupassen.