Перейти к содержанию

Обновление AW

Внимание обязательно ознакомьтесь с описанием целевого и промежуточных релизов https://community.analyticworkspace.ru/c/opisanie-relizov/20, где подробно указаны значимые изменения и рекомендации по подготовке к обновлению.

Технические изменения в выпуске AW 1.32

Изменения в prod-образах

Добавлены образы:

  • minio-init - инициализация политик minio
  • clear-storage - очистка файлового хранилища
  • cron - запуск задач по расписанию
  • swagger - swagger-ui для документации api
  • puppeteer - выполнение скриншотов

Удалены образы:

  • cube-api
  • cubecube
  • cube-refresh-worker
  • cubestore-router
  • cubestore-worker-1
  • cubestore-worker-2
  • cube-redis

Изменения в конфигурации

Добавлены переменные:

  • CLICK_MYSQL_PORT=9004
  • CLICK_POSTGRESQL_PORT=9005
  • CLICK_TIMEOUT=36000
  • ETL_AIRFLOW_LOG_FOLDER=/logs/air
  • AW_SWAGGER_PORT_EXPORTED=85
  • CLICK_PARSER_OPTIONS=-Xms256m -Xmx2048m
  • JAVA_PULLER_OPTIONS=-Xms256m -Xmx4g -XX:+PrintFlagsFinal
  • MODEL_SYNC_RESULTS_QUEUE=etl_model_sync_results
  • CLICK_PARSER_TIMEOUT - Таймаут соединения с сервисом clickhouse-parser (по умолчанию, 15)

Удалены переменные:

  • DICT_CACHE_SERVER_HOST
  • DICT_CACHE_SERVER_PORT
  • AW_NPM_TOKEN

Обновление AW

Для обновления Системы выполните следующие действия:

  1. Подключитесь к серверу через ssh ; Перейдите в рабочую директорию приложения, в дальнейшем ожидается, что остальные команды выполняются из рабочей директории приложения:

    cd /opt/aw/app
    
    Загрузите на сервер дистрибутив Analytic Workspace.

  2. Создайте резервную копию файла конфигурации, а также сформируйте список изменений в файле конфигурации по сравнению с шаблоном:

    cp .env ../env.backup.$(date +'%Y-%m-%d_%H%M%S')
    diff -wu .env.dist .env > ../env.diff
    
  3. Остановите AW:

    docker compose down -v
    
  4. Удалите папку rabbitmq для корректного обновления версии:

    rm -rf ../db/rabbitmq
    
  5. Распакуйте дистрибутив:

    tar xvf ../release-VERSION.tar
    
    Файл дистрибутива можно удалить, если есть дефицит дискового пространства

  6. Скопируйте шаблон файла конфигурации .env.dist в файл конфигурации .env и примените изменения в нем (автоматически или вручную):

    cp .env.dist .env
    # автоматическое применение изменений:
    patch < ../env.diff
    
    Автоматическое применение изменений может не сработать в некоторых случаях. В этом случае необходимо будет вручную повторно внести изменения в файле .env

    Убедитесь, что произведены все изменения в конфигурации между старой и новой версиями, а также изменения, описанные на странице Технические изменения от релиза к релизу, требующие внимания разработчиков и девопсов

  7. Выполните очистку docker от старых образов:

    docker system prune --all
    
    Данный пункт не обязателен, но является рекомендацией. Данная операция позволяет избежать лишнего использования дискового пространства

  8. Загрузите в Docker обновленные образы компонентов AW.

    Для закрытого контура перейдите в каталог установки Системы и выполните скрипт ./install.sh:

    chmod +x install.sh
    ./install.sh
    

    Для открытого контура: Подключите Docker Registry:

    docker login registry.analyticworkspace.ru
    # Отобразится запрос о необходимости ввести учетную запись. Введите данные учетной записи, ранее использованной для скачивания дистрибутива
    
  9. Запустите скрипт create_project_dirs.sh для того чтобы создать необходимые директории:

    chmod +x create_project_dirs.sh
    ./create_project_dirs.sh
    
  10. При обновлении с версии младше 1.30 необходимо очистить содержимое директории db/rabbitmq

    rm -rf db/rabbitmq/*
    
  11. Выполните запуск Системы и примените миграции:

    docker compose up -d
    docker compose exec backend php yii migrate --interactive=0
    docker compose exec backend php yii run-code-migrations
    docker compose exec etl-api /app/manage migrate