//Cloudogu EcoSystem Docs

Dogu-Upgrades

Beginnend mit Version 0.14 der cesapp können Dogus mit dem Befehl upgrade aktualisiert werden. Um bei der Aktualisierung eines Dogu zu helfen, können die verfügbaren Upgrades mit list-upgrades aufgelistet werden.

Verwendung

## Verfügbare Upgrades auflisten
cesapp list-upgrades

## Upgrade auf die neueste scm-Version
cesapp upgrade scm

# Upgrade auf die Version 1.53-1 von scm
cesapp upgrade scm 1.53-1

# Upgrade auf Version 1.52-1 und Ignorieren von Versionskonflikten
cesapp upgrade scm 1.52-1 --force

Upgrade-Schritte

Während des Upgrade-Prozesses wird cesapp die folgende Liste von Schritten ausführen:

  • Alle Dogus stoppen, die von dem zu aktualisierenden abhängen
  • Ausführen des Pre-Upgrade-Skripts, falls konfiguriert
  • Entfernen des alten Containers
  • Starten des neuen Containers
  • Ausführen des Post-Upgrade-Skripts, falls konfiguriert
  • Alle Dogus starten, die von dem zu aktualisierenden abhängen

Upgrade-Skripte

Die Upgrade-Skripte können z.B. in der dogu.json definiert werden:

{
  "Name": "upgradable-dogu",
  "Version": "0.2.0",
  "DisplayName": "Upgradable Dogu",
  "Image": "registry.cloudogu.com/sample/upgradable-dogu",
  "ExposedCommands": [{
    "Name": "pre-upgrade",
    "Command": "/pre-upgrade.sh"
  }, {
    "Name": "post-upgrade",
    "Command": "/post-upgrade.sh"
  }]
}

Bitte beachten:

Die Konfiguration für die Upgrade-Skripte wird immer von der neuen Version des Dogus geladen. Das neue Dogu weiß, was für das Update benötigt wird.

Wenn in der neuen Version ein Pre-Upgrade-Skript definiert ist, dann wird es aus dem neuen Image in den alten Container extrahiert. Dadurch wird die Ausführung des Pre-Update-Skripts im alten Container ermöglicht.

Das Post-Upgrade wird ausgeführt, nachdem der neue Container gestartet wurde.

Dieses Verhalten ist nützlich für komplizierte Aufgaben wie Dump (Pre-Upgrade) und Restore (Post-Upgrade).