nach dem ich mich schon das Eine oder Andere Mal mit OHx rumgeärgert hab und mir mit Updates auch schon produktive Umgebungen kaputt gemacht, bin ich mit meinem aktuellen Konzept recht zufrieden und wollte das mal teilen.
Ich habe drei verschiedene Container: DEV, TEST und PROD
Ich glaube die Namen sind selbstsprechend.
Änderungen werden immer auf DEV durchgeführt und wenn sie dort tun, auf PROD geschoben*.
Sollte es neue OH Releases geben, schiebe* ich den aktuellen Stand von DEV auf TEST und aktualisiere dann den TEST Container (mittels regulärem Docker Update). Tut das fehlerfrei, geht das neue OH Release auf DEV und dann auf PROD. Das passiert jeweils per regulärem Docker Update. Danach geht die aktuelle Konfiguration von DEV nach PROD.
* Den Umzug der Konfigurationen mache ich mit einem einfachen Shell-Script. Dabei lösche ich auf PROD gleich noch ein paar statische Sachen, welche m.E. eh regelmäßig aktualisiert gehören.
Code: Alles auswählen
#!/bin/bash
# PROD Docker Container stoppen
echo stopping prod container
docker stop openhab3-prod
# DEV Docker Container stoppen
echo stopping dev container
docker stop openhab3-dev
# PROD Umgebung löschen
echo deleting old prod files
rm -rf /share/openHAB3/prod/*
# DEV nach PROD kopieren
echo copying new prod files
cp -r /share/openHAB3/dev/* /share/openHAB3/prod/
# PROD Cache löschen
echo deleting cache
rm -rf /share/openHAB3/prod/userdata/cache/*
# PROD Logs löschen
echo deleting logs
rm -rf /share/openHAB3/prod/userdata/logs/*
# PROD Temp löschen
echo deleting tmp
rm -rf /share/openHAB3/prod/userdata/tmp/*
# PROD Docker Container starten
echo starting prod container
docker start openhab3-prod
Das mag alles etwas oversized klingen, hilft aber die häusliche Akzeptanz zu erhöhen und schafft mir Ruhe, angefange SmartHome Baustellen auch mal über einen längeren Zeitraum zu entwickeln. Weil ich eben nicht auf PROD achten muss.
Vielleicht hilft es dem einen oder der anderen.
Grüße
André