Aktualizacja
W pierwszym kroku należy podmienić obrazy BI Point na nowe zgodny z aktualną wersją (pliki o nazwie bipoint-images-(…)). Po podmianie obrazów należy wykonać taką samą czynność dla skryptu update-images.sh podmieniając go w katalogu zainstalowanego już BI Pointa. Poprzednie pliki nie są potrzebne i można je usunąć.
Po podmianie skryptu oraz obrazów BI Point należy uruchomić komendę:
sh update-images.sh |
Po uruchomieniu skryptu wyświetli się poniższy komunikat, który należy zatwierdzić enterem:
Następnie należy wskazać ścieżkę obrazów z poprzedniej wersji jeżeli została ona podmieniona w tym samym katalogu w którym znajduje się skrypt update-images.sh należy zatwierdzić domyślną ścieżkę klawiszem enter.
Po załadowaniu poszczególnych obrazów:
Zostaną zaktualizowane skrypty pomocnicze:
Zostanie również zaktualizowany docker-compose.yml zgodnie z poniższą informacją wyświetlaną w trakcie działania skryptu aktualizującego:
W ramach powyższego etapu aktualizacji został nadpisany:
Numer obrazu BI Point w pliku docker-compose
W kolejnym etapie należy wyłączyć kontenery w celu aktualizacji bazy. Po wywołaniu komendy:
docker-compose down |
kontenery zostaną usunięte:
W kolejnym kroku należy usunąć kontener ae_db (przy ponownym uruchomieniu komendy docker-compose wolumin danych utworzy się na nowo w wersji kompatybilnej z Postgresem 12), w opisywanym przypadku komenda przyjmie postać:
Ostatnim krokiem jest migracja bazy BI Point:
W celu wykonania migracji najpierw usuwamy kontenery:
docker-compose -f docker-compose.yml -f docker-compose.migrator.yml down |
Następnie, uruchamiamy tylko obraz „bipoint_db”
docker-compose -f docker-compose.yml -f docker-compose.migrator.yml up -d bipoint_db |
Czekamy, aż „bipoint_db” uruchomi się i będzie w stanie healthy (sprawdzamy z docker-compose ps). Następnie, uruchamiamy kontener migrator:
docker-compose -f docker-compose.yml -f docker-compose.migrator.yml up bipoint_migrator |
Zostaje wtedy uruchomiony kontener bazy danych oraz kontener bipoint_migrator, który aplikuje skrypty i pluginy migracyjne.
Po zakończeniu migracji kontener bipoint_migrator zostanie wyłączony. Możemy wtedy ponownie uruchomić kontenery BI Point komendą:
docker-compose up -d |
Aktualizacja ręczna
Przed rozpoczęciem migracji należy wykonać backup bazy danych. Na kontenerze należy wykonać poniższe polecenie:
docker exec -u postgres <nazwa kontenera starej bazy> pg_dump -d bipoint > ./dump |
Powyższe polecenie utworzy kopię bazy.
Po utworzeniu kopii bazy należy zmodyfikować docker-compose.yml i nadpisać poniższe wartości zgodnie z poniższym zrzutem ekranu (przykładowa komenda edytora tekstowego):
Nano docker-compose.yml |
Po zmianie docker-compose.yml należy uruchomić skrypt update-images.sh.
sh update-images.sh |
Po wykonaniu skryptu należy wykonać komendę:
docker-compose down |
Następnie należy ponownie uruchomić jedynie kontener bazo-danowy:
docker-compose up -d bipoint_db |
Następnie należy wykonać kolejne kroki:
echo „drop database bipoint;” | docker exec -i -u postgres <nazwa kontenera> psql
echo „create database bipoint;” | docker exec -i -u postgres <nazwa kontenera> psql cat ./dump | docker exec -i -u postgres <nazwa kontenera> psql -d bipoint |
Po przywróceniu kopii z pliku dump można przejśc do kroku migratora.
W celu wykonania migracji najpierw usuwamy kontenery:
docker-compose -f docker-compose.yml -f docker-compose.migrator.yml down |
Następnie, uruchamiamy tylko obraz bipoint_db
docker-compose -f docker-compose.yml -f docker-compose.migrator.yml up -d bipoint_db |
Po uruchomieniu obrazu bipoint_db (status obrazu można weryfikować na bieżąco komendą docker-compose ps). Jeżeli jego status jest healthy to można wywołać uruchomienie obrazu migrator:
docker-compose -f docker-compose.yml -f docker-compose.migrator.yml up bipoint_migrator |
Po poprawnej migracji zostanie wyświetlony poniższy komunikat:
Ostatnim krokiem należy uruchomić kontenery poleceniem:
sudo docker-compose up -d |