chore(infra): immutable image tags + parametrized compose + rollback docs (#397) #402
No reviewers
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp!402
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/397-immutable-tags"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #397.
Summary
publish-api/web/ocrpushen zusätzlich zu:latestjetzt auch${DRONE_COMMIT_SHA:0:7}.publish-web-devpushtdev+dev-<sha>.deploy/docker-compose.ymlliest${API_TAG:-latest},${WEB_TAG:-latest},${OCR_TAG:-latest}aus../.env. Default unverändert:latest.docker image prune -f --filter "until=168h"(7 Tage) — alte SHA-Tags überleben so eine Woche, Rollback möglich.CLAUDE.md: Liste verfügbarer Tags via Forgejo-API, Rollback perAPI_TAG=<sha> docker compose up -d api.CLAUDE.md: forward-only & backward-compat, zweistufige Drop-Column.Parallel-PR in server-stack
https://git.mrrm.de/admin-mrrm/server-stack/compare/master...feat/mrrmlabapp-immutable-tags — spiegelt die Parametrisierung auch in den Ansible-Compose-Vorlagen für prod-alt und dev-neu. Beide PRs zusammen mergen, damit Drone-Upload und Ansible-Source-of-Truth nicht divergieren.
Tag-Version (TAG_VERSION)
Der Punkt "falls Tag: ${TAG_VERSION}" aus #397 ist hier nicht drin — kommt mit #398 (Gitea-Release-Step + Tag-Pipeline). Aktuell pusht Drone nur auf
push-Events; Tag-getriggerte Publishes folgen mit dem Release-Workflow.Test plan
publish-*-Steps pushen sowohl:latestals auch:<sha>https://git.mrrm.de/admin-mrrm/-/packages/container/mrrmlabapp%2Fapizeigt beide Tags:latest-Default unverändertMRRMLABAPP_DEV_API_TAG=<alter-sha> docker compose up -d api, verifizieren dass das alte Image hochgefahren wird- publish-api/web/ocr: zusätzlich zu :latest auch ${DRONE_COMMIT_SHA:0:7} pushen; publish-web-dev: dev + dev-<sha> - deploy/docker-compose.yml: image: …/api:${API_TAG:-latest} (analog WEB_TAG, OCR_TAG) — Rollback via .env setzen - docker image prune --filter "until=168h" (7-Tage-Karenz) statt bedingungslos — aktualisiert #354s Prune-Verhalten - CLAUDE.md: Rollback-Anleitung + forward-only/backward-compat DB-Migration-Policy (zweistufige Spaltenänderungen) Closes #397. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>b186c5c8b2fca0775b2e