Docs-Deployment
Die Docusaurus-Dokumentation wird als statische Website gebaut und über Cloudflare Pages veröffentlicht. Die Ziel-Domain ist:
https://docs.skintogo.de
Automatische Aktualisierung
Der Workflow .github/workflows/deploy-cloudflare-pages.yml deployed automatisch bei jedem Push auf main im Docs-Repository.
Der Ablauf:
- GitHub Actions checkt das Docs-Repository aus.
- Node 20 wird eingerichtet.
- Dependencies werden reproduzierbar mit
npm ciinstalliert. - Docusaurus baut die statische Website mit
npm run build. - Das erzeugte Verzeichnis
buildwird zu Cloudflare Pages veröffentlicht. - Nach erfolgreichem Deploy ist die aktualisierte Doku über
docs.skintogo.deerreichbar.
Damit reicht für normale Doku-Änderungen:
git add .
git commit -m "docs: update documentation"
git push origin main
Der Push startet den Deploy automatisch.
Manueller Deploy
Der gleiche Workflow kann manuell ausgelöst werden:
- Docs-Repository in GitHub öffnen.
Actionsauswählen.Deploy Docs to Cloudflare Pagesöffnen.Run workflowanklicken.- Branch
mainauswählen und starten.
Das ist nützlich, wenn ein früherer Deploy wiederholt werden soll, ohne einen neuen Commit zu erzeugen.
Pull-Request-Build
Der Workflow .github/workflows/build.yml läuft bei Pull Requests und manuell per workflow_dispatch.
Er führt aus:
npm ci
npm run build
Dieser Workflow veröffentlicht nichts. Er prüft nur, ob die Docusaurus-Seite buildbar ist.
GitHub-Secrets
Für den Cloudflare-Pages-Deploy müssen im Docs-Repository diese GitHub Actions Secrets existieren:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_ID
Diese Werte dürfen nicht in Dokumentation, Logs oder Commits ausgegeben werden.
Cloudflare Pages
Der Workflow veröffentlicht über cloudflare/pages-action@v1 direkt nach Cloudflare Pages. Das Cloudflare-Pages-Projekt heißt im Workflow:
skin-to-go-docs
Empfohlene Cloudflare-Pages-Einstellungen:
- Production branch:
main - Build output directory:
build - Custom domain:
docs.skintogo.de
Wenn Cloudflare Pages zusätzlich über die Cloudflare-Oberfläche mit GitHub verbunden wird, darf kein widersprüchlicher zweiter Build-Mechanismus entstehen. Entweder GitHub Actions veröffentlicht aktiv über cloudflare/pages-action, oder Cloudflare Pages baut selbst aus dem GitHub-Repo. Aktuell ist der GitHub-Actions-Weg vorbereitet.
Lokale Prüfung vor dem Push
Falls lokal Node/npm verfügbar ist:
npm ci
npm run build
Falls lokal kein Node/npm verfügbar ist:
docker compose run --rm docs npm run build
Für die lokale Vorschau:
docker compose up --build
Danach im Browser:
http://localhost:3000
Was nicht automatisch passiert
- Änderungen im Hauptrepository
skin_to_godeployen die Doku nicht automatisch. - Nur Commits im Docs-Repository
skin_to_go_docssind für den Docs-Deploy relevant. - App-Deployments und Docs-Deployments sind bewusst voneinander entkoppelt.
- Secrets werden nicht aus der Doku erzeugt oder synchronisiert; sie müssen in GitHub und Cloudflare getrennt gepflegt werden.