Документ описывает процесс обновления сервера Webitel версии 3.8 до версии 3.9.
Webitel 3.9 хранит записи разговоров в новом формате. К сожалению, это не позволит перенести графики уже настроенные в Kibana автоматически. Все отчеты необходимо будет создать повторно. Учтите это, прежде чем приступить к обновлению. |
Прежде чем преступить к обновлению, рекомендуем выполнить резервное копирование текущей конфигурации:
/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()" |
Процесс завершен.