Skip to content
This repository was archived by the owner on Nov 7, 2026. It is now read-only.

Deploy: atomar hochladen und Cache-Regeln, damit nach Updates keine leeren oder alten Seiten bleiben - #141

Merged
code4teaching merged 2 commits into
mainfrom
deploy/temp-dateien
Oct 24, 2026
Merged

code4teaching merged 2 commits into
mainfrom
deploy/temp-dateien

Conversation

@code4teaching

@code4teaching code4teaching commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Requested by Holger · project thread

Beim Deploy von 0.3.38 war die Startseite für Holger kurz leer. Danach zeigte Chrome auch nach dem Neuladen nicht die neue Fassung, Brave dagegen schon.

1. Atomar hochladen

  • Mit set xfer:use-temp-file yes lädt lftp jede Datei zuerst unter einem Hilfsnamen hoch und benennt sie dann um.
  • So ist eine Seite nie halb übertragen.
  • Die Reihenfolge bleibt wie bisher: Assets, dann HTML, dann löschen.

2. Cache-Regeln über .htaccess

  • HTML-Seiten bekommen Cache-Control: no-cache. Der Browser fragt also immer kurz beim Server nach, ob es eine neue Fassung gibt, und hält kein altes index.html fest.
  • Die Dateien unter app/assets/ haben einen Hash im Namen und bekommen deshalb max-age=1 Jahr, immutable.
  • Eine vorhandene .htaccess auf dem Server, z. B. mit einer HTTPS-Weiterleitung von All-Inkl, bleibt erhalten. Das Skript lädt sie, ersetzt nur den Block zwischen # BEGIN VisuStruct-Cache und # END VisuStruct-Cache bzw. hängt ihn an und lädt sie am Ende wieder hoch. Lokal geprüft: Der Merge ist idempotent, und fremde Zeilen bleiben stehen.
  • Der Block steht in .github/scripts/htaccess-cache.conf und nicht in website/, damit er nicht als normale Datei mitgespiegelt wird.

Der Trockenlauf dieses PRs zeigt, wie viele Zeilen der vorhandenen .htaccess erhalten bleiben, und prüft die lftp-Einstellung.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XV48YREU9ynsuFLr37cukz

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XV48YREU9ynsuFLr37cukz
@code4teaching code4teaching self-assigned this Oct 24, 2026
…ge cachen), vorhandene .htaccess bleibt erhalten

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XV48YREU9ynsuFLr37cukz
@code4teaching code4teaching changed the title Deploy: Dateien erst unter Hilfsnamen hochladen, dann umbenennen Deploy: atomar hochladen und Cache-Regeln, damit nach Updates keine leeren oder alten Seiten bleiben Oct 24, 2026
@code4teaching
code4teaching merged commit 7e58198 into main Oct 24, 2026
5 checks passed
@code4teaching
code4teaching deleted the deploy/temp-dateien branch November 5, 2026 21:26
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants