Modul-Version austauschen (Modul-Upgrade)
So kann man die Version eines Moduls austauschen. Klassisches Beispiel: Bugfix. In einem einzelnen Modul hat es einen Bugfix gegeben, und man will das neue Modul installieren. Hier am Beispiel mod-configuration-5.4.1 → mod-configuration-5.4.4
1. Die in Okapi angemeldete Modul-Instanz von mod-configuration undeployen (entfernen)
|
2. Den Moduldeskriptor für mod-configuration-5.4.4 holen, so:
|
3. Den Moduldeskriptor für mod-configuration-5.4.4 senden (es gibt ihn im System noch nicht), so:
|
4. Einen neuen Deployment-Deskriptor bauen
|
5. Bereitstellen: Den Deployment-Deskriptor für das neue mod-configuration an $OKAPI_URL/_/discovery/modules senden (Re-deploy):
|
Nun muss für den Mandanten noch die alte Modulversion deaktiviert und die neue aktiviert werden.
Dazu müssen leider zunächst alle Module deaktiviert werden, da es sonst Probleme mit fehlenden Abhängigkeiten gibt.
6. Alle Module für den Mandanten deaktivieren, außer Okapi
Hole die Liste der Module für diesen Mandanten und schreibe in eine Datei
|
Sende LÖSCHEN an /_/proxy/tenants/<tenantId>/modules/<moduleId> für jedes Modul in der Liste, aber lasse Okapi aktiviert!
curl -w '\n' -XDELETE http://localhost:9130/_/proxy/tenants/diku/modules/folio_calendar-1.0.100018
curl -w '\n' -XDELETE http://localhost:9130/_/proxy/tenants/diku/modules/folio_checkin-1.1.100049
curl -w '\n' -XDELETE http://localhost:9130/_/proxy/tenants/diku/modules/folio_checkout-1.1.4000158
...
Aufgrund "fehlender Anhängigkeiten" werden nicht alle Module gelöscht. Zuerst die fehlenden Abhängigkeiten löschen. Dann das Löschen aller Module (ein Skript dafür schreiben!) sooft ausführen, bis alles gelöscht ist. Am Ende darf nur noch stehen:
|
7. Re-aktiviere alle Module für den Mandanten
Zunächst muss die Datei okapi-install.json editiert werden, um in ihr die neue Modul-Version einzutragen:
|
8. Sende "activate" an alle Module für diesen Mandanten:
|
9. Nun mal einen Gesundheitscheck machen:
|