75 Zeilen
2,6 KiB
Markdown
75 Zeilen
2,6 KiB
Markdown
|
## 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
|
||
|
|
||
|
# - 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, sondern Bilder vorholen und beenden
|
||
|
./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 Vor der Aktualisierung am 2020-09-28_19_25_45
|
||
|
dacd4fb9b51e9e1c8a37d84485b92ffaf6c59353 Vor der Aktualisierung am 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 [this](./u_e-update-hooks.md) für weitere Details.
|
||
|
|
||
|
## Fußnoten
|
||
|
|
||
|
- Wir planen einen monatlichen Release-Zyklus für Updates ein.
|