Update
Automatische Aktualisierung¶
Ein Update-Skript in Ihrem mailcow-dockerized Verzeichnis kümmert sich um Updates.
Aber benutzen Sie es mit Bedacht! Wenn Sie denken, dass Sie viele Änderungen am mailcow-Code vorgenommen haben, sollten Sie die manuelle Update-Anleitung unten verwenden.
Führen sie das Update-Skript aus:
./update.sh
Wenn es nötig ist, wird es Sie fragen, wie Sie fortfahren möchten. Merge-Fehler werden gemeldet. Einige kleinere Konflikte werden automatisch korrigiert (zugunsten des mailcow: dockerized repository code).
Optionen¶
# Optionen können kombiniert werden
# - Prüft auf Updates und zeigt Änderungen an
./update.sh --check
# Versuchen Sie nicht, docker compose zu aktualisieren, **stellen Sie sicher, dass Sie die neueste verfügbare Version von docker compose verwenden**
./update.sh --no-update-compose
# - Starten Sie mailcow nicht, nachdem Sie ein Update durchgeführt haben
./update.sh --skip-start
# - Überspringt den ICMP Check auf die öffentlichen DNS Resolver (Bitte nur nutzen, wenn keinerlei ICMP Verbindungen von und zur mailcow erlaubt sind)
./update.sh --skip-ping-check
# - Erzwinge Update (unbeaufsichtigt, aber nicht unterstützt, Benutzung auf eigenes Risiko)
./update.sh --force
# - Garbage Collector ausführen, um alte Image-Tags zu bereinigen und beenden
./update.sh --gc
# - Update mit der Merge-Strategie-Option "ours" statt "theirs"
# Dies wird **Konflikte** beim Zusammenführen zugunsten Ihrer lokalen Änderungen lösen und sollte vermieden werden. Lokale Änderungen werden immer beibehalten, es sei denn, wir haben auch die Datei XY geändert.
./update.sh --ours
# - Nicht aktualisieren, nur holen von Docker Images
./update.sh --prefetch
Ich habe vergessen, was ich vor dem Ausführen von update.sh geändert habe.¶
Siehe git log --pretty=oneline | grep -i "before update"
, Sie werden eine Ausgabe ähnlich dieser haben:
22cd00b5e28893ef9ddef3c2b5436453cc5223ab Before update on 2020-09-28_19_25_45
dacd4fb9b51e9e1c8a37d84485b92ffaf6c59353 Before update on 2020-08-07_13_31_31
Führen Sie git diff 22cd00b5e28893ef9ddef3c2b5436453cc5223ab
aus, um zu sehen, was sich geändert hat.
Kann ich ein Rollback durchführen?¶
Ja.
Siehe das obige Thema, anstelle eines Diffs führen Sie checkout aus:
docker compose down
# Ersetzen Sie die Commit-ID 22cd00b5e28893ef9ddef3c2b5436453cc5223ab durch Ihre ID
git checkout 22cd00b5e28893ef9ddef3c2b5436453cc5223ab
docker compose pull
docker compose up -d
Hooks¶
Sie können sich in den Update-Mechanismus einklinken, indem Sie Skripte namens pre_commit_hook.sh
und post_commit_hook.sh
zu Ihrem mailcows-Root-Verzeichnis hinzufügen. Siehe hier für weitere Details.
Update-Zyklus¶
- Wir planen an jedem ersten Dienstag eines Monats ein neues Hauptupdate zu veröffentlichen.
- Die Updates sind wie folgt nummeriert:
JJJJ-MM
(Beispiel:2022-05
). - Fehlerkorrekturen eines Hauptupdates werden bei uns als "Revisionen" wie a,b,c (Beispiele:
2022-05a
,2022-05b
usw.) erscheinen.