Webitel 3.9 upgrade notes
Документ описывает процесс обновления сервера Webitel версии 3.8 до версии 3.9.
Резервное копирование
Прежде чем преступить к обновлению, рекомендуем выполнить резервное копирование текущей конфигурации:
/opt/orchestration/bin/bootstrap.sh backup
Процесс обновления
Удалить все docker контейнеры и обновить права доступа:
sudo -s docker rm -f $(docker ps -aq)
Обновить базовые пакеты Linux:
apt update && apt -y upgrade && apt -y autoremove curl -sSL https://get.docker.com/ | sh curl -L "https://github.com/docker/compose/releases/download/1.20.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
В файле /opt/orchestration/env/environment измените версию webitel на 3.9.0
export WEBITEL_VERSION="3.9.0"
Обновить Webitel:
cd /opt/orchestration git checkout master git pull git checkout v3.9.0 ./bin/bootstrap.sh pull
Миграция SQL базы данных в новый формат:
./bin/bootstrap.sh 3.8.x-3.9.0
Запуск обновленный сервер:
./bin/bootstrap.sh up -d
Очищаем кеш браузера и webitel обновлен!
Перенос статистики
Удаляем старые данные:
docker exec -it mongo mongo webitel --eval "db.agentStatusEngine.drop()" docker exec -it mongo mongo webitel --eval "db.collectionPublic.drop()" docker exec -it mongo mongo webitel --eval "db.collectionDefault.drop()" docker exec -it mongo mongo webitel --eval "db.collectionExtension.drop()" docker exec -it mongo mongo webitel --eval "db.collectionDomainVar.drop()" docker exec -it mongo mongo webitel --eval "db.collectionAgentStatus.drop()"
Переходим к конвертации статистики Webitel из старого формата в новый.
Обратите внимание, что скорость переноса старой статистики в новый формат зависит от количества данных и мощности сервера.
Запускаем процесс:
cd /opt/orchestration ./bin/bootstrap.sh cdr-upgrade
После того, как статистика перенесена и мы убедились, что все работает, смело удаляем старые данные:
docker rmi $(docker images) rm -rf /opt/webitel/elasticsearch5 docker exec -it mongo mongo webitel --eval "db.cdr.drop()"
Процесс завершен.