Verteilungssicht: Ein Push auf main, ein Artefakt, GitHub Pages liefert Apps und Doku aus
Die Apps laufen vollständig im Browser des Kindes. GitHub baut und liefert aus; es gibt keinen Rechner, den jemand betreiben muss. Ein Workflow baut die Site mit Eleventy und diese Doku mit docToolchain und legt beides in ein einziges Pages-Artefakt.
Infrastruktur Ebene 1: GitHub baut, Pages liefert, der Browser rechnet
| Element | Zweck und Zuordnung |
|---|---|
Repository |
|
|
Bei jedem Push und PR: |
|
In PRs, die |
|
Bei jedem Push und PR, Job |
|
Bei jedem PR, Job |
|
Bei jedem eingereichten oder geänderten PR-Review, Job |
|
Bei Push auf |
GitHub Pages |
Liefert |
Browser |
Führt Kern und Fachmodule aus; speichert nur im |
Stolperstein: Ein Repo <org>.github.io schaltet Pages im Branch-Modus ein
Wer ein Repository mit dem Namen <org>.github.io anlegt, bekommt GitHub Pages automatisch
eingeschaltet, und zwar im Modus „Deploy from a branch“. Dann liefert Pages die Quellen aus main
aus, nicht die Ausgabe von pages.yml: Die Seiten wären Nunjucks-Rohtext, und deploy-pages schlägt
fehl. Die Quelle muss einmal auf „GitHub Actions“ umgestellt werden:
gh api -X PUT repos/lernapps/lernapps.github.io/pages -f build_type=workflow
gh api repos/lernapps/lernapps.github.io/pages --jq .build_type # erwartet: workflow
Für ein Repository ohne Pages lautet der erste Aufruf gh api -X POST …/pages -f build_type=workflow
(CLAUDE.md, „Build, test, deploy“).
Ein Deployment wechselt alle URLs auf einmal
GitHub Pages erlaubt dem Browser, jede Datei zehn Minuten lang ohne Rückfrage aus dem Cache zu nehmen,
jede für sich. Der Build hängt deshalb an jede lokale Referenz ?v=<Hash über alle JS/CSS/JSON>; ändert
sich eine ausgelieferte Datei, zeigen alle Seiten auf neue URLs, die kein Cache kennt. Nur die
HTML-Seite selbst kann bis zu zehn Minuten alt sein (R-013).
Lokal: fünf Befehle genügen
npm ci # Eleventy 3.1.6 exakt nach package-lock.json
npm test # Unit-, Vertrags- und Build-Tests
npm run build # _site/, bricht bei Regelverstößen ab
npm run serve # Dev-Server
scripts/dtc-v4.sh generateSite # Doku nach build/microsite/output/ (holt beim ersten Mal docToolchain v4)
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.