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

Версия 3.96

Обновление инфраструктурных сервисов:

  • minio: v2024-07-16T23-46-41Z -> v2025-07-23T15-54-02Z;
  • rabbitmq: v3.13.7 -> v4.1.3;
  • redis: v6.2.12 -> v7.2.10;
  • postgres: v14 -> v17.

ВНИМАНИЕ

Перед установкой релиза необходимо обновить postgres.

Обновление в docker compose

Для обновления postgres можно воспользоваться одним из следующих методов:

С помощью скрипта (рекомендуемый метод обновления):

  1. Распаковать релиз и перенести свои значения в .env;
  2. Загрузить docker образы: docker load -i images.tar;
  3. Выключить TeamStorm: docker compose -p teamstorm down;
  4. Перейти в каталог scripts и задать параметры обновления в скрипте upgrade_db.sh, если они отличаются от значений по умолчанию;
  5. Запустить скрипт обновления: ./upgrade_db.sh;

Ручное обновление (альтернативный метод обновления):

  1. Перед обновлением конфигурационных файлов необходимо:
    1. Выключить TeamStorm: docker compose -p teamstorm down;
    2. Поднять только database_service: docker compose -p teamstorm up -d database_service;
    3. Сделать резервную копию всех баз: docker exec -it teamstorm-database_service-1 pg_dumpall -U postgres > backup_db_14.sql.
  2. Распаковать релиз и заменить конфигурационные файлы;
  3. Загрузить docker образы: docker load -i images.tar;
  4. Развернуть только новую версию database_service: docker compose -p teamstorm -f docker-compose.yml up -d database_service;
  5. Восстановить данные из резервной копии: docker exec -i teamstorm-database_service-1 psql -U postgres < backup_db_14.sql;

В результате будет создан новый docker volume teamstorm_database-service-volume-v17. Если обновление успешно выполнено, то старый docker volume можно удалить: docker volume rm teamstorm_database-service-volume.

Обновление в Kubernetes

Версия helm-чарта: 1.1.

Для обновления postgres необходимо выполнить:

  1. Перед обновлением необходимо:
    1. Выключить все сервисы, кроме sts: kubectl get deploy -n NAMESPACE -o name | xargs -I % kubectl scale % --replicas=0 -n NAMESPACE;
    2. Сделать резервную копию всех баз: kubectl -n NAMESPACE exec postgres-0 -c postgres -- pg_dumpall -U postgres > backup_db_14.sql;
    3. Удалить существующий релиз: helm -n NAMESPACE uninstall RELEASE.
  2. Отключить в values.yaml развертывание сервисов приложения:

      frontend:
        replicas: 0
      adminui:
        replicas: 0
      attachment:
        replicas: 0
      automation:
        replicas: 0
      comment:
        replicas: 0
      cwmpublicgateway:
        replicas: 0
      gitintegration:
        replicas: 0
      history:
        replicas: 0
      notification:
        replicas: 0
      notificationhub:
        replicas: 0
      notificationmail:
        replicas: 0
      template:
        replicas: 0
      taskitem:
        replicas: 0
      webhook:
        replicas: 0
      wiki:
        replicas: 0
      workitem:
        replicas: 0
      workspace:
        replicas: 0
    

  3. Установить с новым релизом только инфраструктурныe сервисы: helm upgrade --install -n NAMESPACE -f PATH-TO-VALUES --wait --create-namespace RELEASE PATH-TO-HELM-CHART;

  4. Скопировать файл бэкапа в postgres под: kubectl -n NAMESPACE -c postgres cp backup_db_14.sql postgres-0:/tmp/backup_db_14.sql;
  5. Восстановить базу: kubectl -n NAMESPACE exec -it postgres-0 -c postgres -- psql -U postgres < /tmp/backup_db_14.sql;
  6. Удалить файл резервной копии: kubectl -n NAMESPACE -c postgres exec -it postgres-0 -- rm /tmp/backup_db_14.sql;
  7. Убрать настройки из пункта 2 и установить релиз: helm upgrade --install -n NAMESPACE -f PATH-TO-VALUES --wait --create-namespace RELEASE PATH-TO-HELM-CHART.

Если обновление успешно выполнено, то старый PVC можно удалить: kubectl -n NAMESPACE delete pvc postgres-pv-claim-postgres-0.