Skip to content
Main Navigation
Автоматизированное тестирование
Централизованное управление автотестами и результатами
Интеграции
Готовые коннекторы с CI/CD, трекерами и репозиториями
Ручное тестирование
Планирование, выполнение и контроль ручных проверок в одном месте
Дашборды и аналитика
Визуализация данных, отчёты и метрики тестов в реальном времени
Ресурсы
Документация
Материалы по установке, настройке и подключению интеграций в ТестОпс
Блог
Статьи и руководства по стратегиям и инструментам тестирования
События
Живое общение с командой ТестОпс на вебинарах и конференциях
Последнее из блога
MCP-сервер: возможности и интеграция с Jira
MCP-сервер: возможности и интеграция с Jira
Рассматриваем протокол контекстного моделирования (MCP) для безопасной интеграции языковых моделей с корпоративными системами и его возможности при работе с Jira.
ИИ-инструменты в тестировании ПО
ИИ-инструменты в тестировании ПО
Разбираем, как использовать машинное обучение в QA для автоматической генерации сценариев для ускорения процессов и повышения стабильности релизов.
Тестирование мобильных приложений
Тестирование мобильных приложений
Объясняем, почему мобильное тестирование выделено в отдельную дисциплину, какие задачи оно решает и какие инструменты используют современные QA-команды.
Перейти в блог
ТарифыПартнерыСвязаться с нами
Sidebar Navigation

Описание ТестОпс

О продукте

Информация о релизах

Миграция с других решений

Термины и определения

Часто задаваемые вопросы

Установка ТестОпс

Архитектура

Установка и первый запуск

Обзор

Kubernetes

Docker Compose

DEB-пакеты

RPM-пакеты

База данных

S3-хранилище

Конфигурация

Обзор

Сеть

Аутентификация

Обзор

Локальная аутентификация

LDAP

OpenID и Azure AD

OpenID и Keycloak

SAML 2.0

Настройка SMTP

Резервное копирование и восстановление

Начало работы

1. Создайте проект

2. Запустите ручной тест

3. Запустите автотест

4. Создайте комбинированный запуск

5. Обработайте результаты тестов

Обзор ТестОпс

Обзор

Дашборды

Тест-кейсы

Общие шаги

Тест-планы

Запуски

Результаты тестов

Дефекты

Джобы

Меню пользователя

Тест-кейсы

Статусы воркфлоу

Сценарий ручного теста

Параметры ручного теста

Вложения

Теги

Тестовые слои

Ссылки

Задачи из таск-трекеров

Сторонние тест-кейсы

Участники

Связанные тест-кейсы

Кастомные поля

Ключи маппинга

Импорт

Запуски

Окружение

Обновление метаданных

Сравнение запусков

Категории ошибок

Проект

Обзор

Управление доступом

Деревья

Вебхуки

Администрирование

Обзор

Участники

Группы

Очистка данных

Журналы аудита пользователей

Интеграции

Обзор

CI-системы

AWS CodePipeline

Azure DevOps

Bamboo

Bitbucket

CircleCI

GitHub

GitLab

Jenkins

TeamCity

TeamCity (allurectl)

Таск-трекеры

Битрикс24

EvaProject

GitHub

GitLab

Jira Data Center

Jira Software Cloud

Kaiten

Redmine

Wrike

Yandex Tracker

YouTrack

Системы управления тестированием

TestRail

Xray

Zephyr

Экосистема ТестОпс

allurectl

AQL

API

Устранение неполадок

SaaS

ТестОпс как SaaS

Миграция в облако ТестОпс

On this page

Переход с ТестОпс версии 4.x на 5.x ​

Архитектура развертывания ТестОпс была изменена в релизе 5.x. Переход с версии 4.x на 5.x состоит из нескольких шагов и сопровождается временным простоем для пользователей.

Цель миграции, описанной в этом разделе, — перенос данных из базы данных сервиса UAA в базу данных сервиса report. После успешного объединения:

  • полученная база данных сервиса report будет использоваться в ТестОпс версии 5.x;
  • база данных сервиса UAA не будет использоваться и может быть удалена.

0. Подготовьте ваш инстанс ТестОпс ​

Обновитесь до последнего релиза версии 4.x.x → 4.26.5 ​

Внимание

Перед тем как продолжить, убедитесь, что ваша версия обновлена до релиза 4.26.5. Попытка обновить любую другую версию напрямую до 5.x сломает вашу установку ТестОпс, а техническая поддержка не сможет помочь восстановить ваши данные.

Если вы планируете переход с более старой версии, сначала выполните одну из инструкций по обновлению для 4.x:

  • Kubernetes,
  • Docker Compose,
  • DEB,
  • RPM.

После обновления до 4.26.5 убедитесь, что ТестОпс работает правильно, без ошибок.

Убедитесь, что версия вашей базы данных — 15 или выше ​

Внимание

ТестОпс версии 5.x не запустится на версиях PostgreSQL ниже 15.

Перед тем как обновить инстанс ТестОпс с версии 4.26.5 до любой версии 5.x, убедитесь, что ваш сервер PostgreSQL обновлен до версии 15 или выше (рекомендуемые версии — 15 и 16).

1. Подготовьте новый файл конфигурации ​

С переходом на версию 5.х была изменена архитектура ТестОпс — сервисы gateway, UAA и report объединены в один под названием testops. Как следствие, были обновлены файлы конфигурации для развертывания ТестОпс.

Скачайте и отредактируйте новый файл конфигурации ​

ТестОпс версии 5.x использует новый Helm-чарт и новый файл values.yaml, который несовместим с файлом из версии 4.x. Вам необходимо создать новую конфигурацию с нуля, используя новый шаблон, и задать в ней все необходимые параметры. Большинство параметров имеют то же или похожее влияние на систему, как в ТестОпс версии 4.x, но некоторые из них имеют другие имена и структуру.

Подготовьте новый файл конфигурации:

  1. Определите номер самой последней (актуальной) версии Helm-чарта по ссылке.

  2. Загрузите архив в формате TGZ для актуального релиза Helm-чарта на компьютер, где вы планируете выполнять подготовку конфигурационного файла:

    • При работе на Unix-подобной системе используйте команду wget для загрузки архива:

      shell
      wget https://dl.qatools.ru/repository/helm-charts/testops-<latest-release-number>.tgz

      где вместо <latest-release-number> укажите номер актуальной версии Helm-чарта, например, 5.10.2.

    • В других случаях откройте эту страницу и скачайте архив вручную.

  3. Извлеките файл values.yaml из загруженного архива вручную или с помощью команды:

    shell
    tar -xzvf testops-<latest-release-number>.tgz testops/values.yaml

    где вместо <latest-release-number> укажите номер версии загруженного архива. Файл будет извлечен в директорию testops.

  4. Следуйте шагам из раздела Загрузка и изменение файла конфигурации, чтобы указать значения для всех параметров, необходимых для запуска ТестОпс, в файле values.yaml.

    В качестве базы данных укажите параметры соединения с базой данных сервиса report, так как именно она будет использоваться после миграции данных.

  5. Убедитесь, что вы учли все возможные отличия между конфигурациями ТестОпс версий 4.x и 5.x.

Скопируйте ключ шифрования из старого файла конфигурации в новый ​

Все данные интеграций (учетные данные, используемые для интеграций) хранятся в базе данных в зашифрованном виде. Шифрование данных выполняется с помощью алгоритма AES, которому требуется ключ шифрования. Этот ключ необходимо перенести из конфигурации версии 4.x в конфигурацию версии 5.x. Без его переноса интеграции перестанут работать и вам придется повторно ввести все секреты интеграций.

  1. В файле values.yaml из развертывания ТестОпс версии 4.x найдите параметр cryptoPass и его значение. Значение можно найти либо в файле values.yaml, либо в соответствующем секрете, созданном для вашего развертывания.
  2. Используйте это значение для настройки того же параметра в файле values.yaml для ТестОпс версии 5.x:
yaml
############################################################################################################
# cryptoPass parameter is used to encrypt sensitive data (passwords, API tokens in the database)
# Come up with some phrase, then use Base64 encoding, and paste encoded value here.
# In this example we user phrase "This phrase must be kept in a dark dry place." and encoded it as Base64
# phrase mustn't be changed over time, otherwise your integrations would stop working and you will need to re-submit data
############################################################################################################
cryptoPass: <укажите здесь значение параметра cryptoPass из ТестОпс версии 4.x>

2. Остановите инстанс версии 4.26.5 ​

Чтобы избежать повреждения данных при работе с базами данных, остановите инстанс ТестОпс версии 4.x.

Мы рекомендуем закрыть все запуски и уведомить всех ваших пользователей о предстоящем периоде обслуживания.

Внимание

Пожалуйста, прочтите это сообщение до конца прежде чем продолжить.

После выполнения команды, указанной ниже, все приложения, установленные в Kubernetes с помощью Helm-чарта для ТестОпс версии 4.x, будут удалены и все их данные будут утеряны.

Если базы данных или решения для хранения артефактов (MinIO) были установлены с помощью Helm-чарта и запускались в подах, то до удаления ТестОпс версии 4.x вам потребуется:

  1. Сделать полные резервные копии баз данных report и uaa.
  2. Перенести эти данные на отдельный сервер баз данных.

Мы настоятельно рекомендуем использовать развертывание, при котором все сервисы, предназначенные для постоянного хранения данных, разворачиваются на отдельных серверах, а не устанавливаются с помощью Helm-чарта. Этот вариант позволяет более гибко управлять обновлениями и производительностью решения.

Предполагается, что в развертываниях не хранится ценная информация, так как хранилище S3 и базы данных PostgreSQL должны быть развернуты отдельно. Мы не предоставляем поддержку для обновления иных конфигураций.

Чтобы удалить инстанс, выполните команду:

shell
helm delete allure-testops

3. Объедините базы данных ​

Внимание

Все действия в этом шаге обязательны.

В ТестОпс 4.x было задействовано две базы данных PostgreSQL. В ТестОпс 5.x используется одна база данных PostgreSQL, которая хранит информацию о пользователях, тест-кейсах и результатах тестов.

Перед запуском ТестОпс 5.x необходимо перенести существующие данные из базы данных сервиса UAA в базу данных сервиса report.

Команды ниже используют утилиты командной строки pg_dump и pg_restore, а также переменные:

  • password_of_uaa_db_user_here — ваш пароль для базы данных сервиса UAA;
  • password_of_report_db_user_here — ваш пароль для базы данных сервиса report;
  • --host="db.example.com" — ваш реальный адрес хоста.

Резервное копирование баз данных ​

Способ создания резервной копии базы данных зависит от ваших предпочтений и внутренних процедур. Если вы регулярно создаете резервные копии или снимки баз данных, пожалуйста, создайте внеплановую резервную копию перед тем, как продолжить.

Создайте полные резервные копии баз данных сервисов UAA и report ​

  1. Создайте полную резервную копию базы данных сервиса report:

    shell
    # экспортируйте пароль для базы данных
    export PGPASSWORD='password_of_report_db_user_here'
    # создайте копию базы данных
    pg_dump --file=report-dump.sql \
      --host="db.example.com" --port=5432 --username=report --dbname=report
  2. Создайте полную резервную копию базы данных сервиса UAA:

    shell
    # экспортируйте пароль для базы данных
    export PGPASSWORD='password_of_uaa_db_user_here'
    # создайте копию базы данных
    pg_dump --file=uaa-dump.sql \
      --host="db.example.com" --port=5432 --username=uaa --dbname=uaa

Полученные файлы report-dump.sql и uaa-dump.sql не используются во время объединения баз данных. Однако мы рекомендуем сохранить их в качестве резервной копии для восстановления, если возникнут проблемы.

Создайте частичную копию базы данных сервиса UAA ​

Примечание

Эта копия будет использоваться при объединении баз данных.

  1. Экспортируйте пароль для базы данных сервиса UAA, чтобы инструмент pg_dump мог его использовать.

    shell
    export PGPASSWORD='password_of_uaa_db_user_here'
  2. Создайте частичную копию базы данных сервиса UAA:

    Важно

    В команде ниже обновите параметр --schema, если вы используете схему базы данных, отличную от public.

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

    shell
    pg_dump --file=uaa_for_merge.dump \
      --host="db.example.com" --username=uaa --role=uaa --dbname="uaa" \
      --schema="public" \
      --exclude-table-data="databasechangelog" \
      --exclude-table-data="databasechangeloglock" \
      --exclude-table-data="shedlock" \
      --format=c --blobs --encoding=UTF8 --compress=9 \
      --no-owner --no-privileges --no-comments  --verbose

    Команда выведет подробный лог. Убедитесь, что в выводе нет сообщений об ошибках.

Импортируйте частичную копию базы данных сервиса UAA в базу данных сервиса report ​

На этом этапе частичная копия, созданная на предыдущем этапе, будет загружена в базу данных сервиса report:

  1. Экспортируйте пароль для базы данных сервиса report, чтобы инструмент pg_restore мог его использовать.

    shell
    export PGPASSWORD='password_of_report_db_user_here'
  2. Загрузите частичную копию базы данных сервиса UAA (из предыдущего этапа) в базу данных сервиса report для восстановления.

    Важно

    В команде ниже обновите параметр --schema, если вы используете схему базы данных, отличную от public.

    shell
    pg_restore --host="db.example.com" \
        --username="report" --role="report" --dbname="report" \
        --no-owner --no-privileges --verbose \
        --schema "public" \
        "uaa_for_merge.dump"

    Команда выведет подробный лог. Убедитесь, что в выводе нет сообщений об ошибках, кроме незначительных:

    • function "now_epoch_mills" already exists;
    • relation "databasechangelog" already exists;
    • relation "databasechangeloglock" already exists;
    • multiple primary keys for table "databasechangeloglock" are not allowed;
    • ошибки, связанные с доступностью таблицы shedlock.

    Если на этом этапе возникнут другие ошибки, пожалуйста, обратитесь в службу поддержки перед тем, как продолжить (выберите приоритет «Срочно» при создании заявки).

Импортируйте лог изменений базы данных сервиса UAA в итоговую базу данных сервиса report ​

Внимание

Действия, описанные ниже, обязательны.

Скачайте файл insert_to_changelog.sql (лог изменений базы данных сервиса UAA) и импортируйте его в итоговую базу данных сервиса report, полученную на предыдущем этапе:

  1. Экспортируйте пароль для базы данных сервиса report, чтобы инструмент psql мог его использовать.

    shell
    export PGPASSWORD='password_of_report_db_user_here'
  2. Импортируйте лог изменений базы данных сервиса UAA в итоговую базу данных сервиса report, полученную на предыдущем этапе.

    shell
    psql --file="insert_to_changelog.sql" \
      --host="db.example.com" --port=5432 --username=report --dbname=report

4. Создайте индексы в таблицах объединенной базы данных ​

При обновлении на версию ТестОпс 5.20.0 или выше вам необходимо запустить скрипты, которые создадут индексы на одни из самых больших таблиц в вашей базе данных. Это улучшит производительность ТестОпс.

Создание индексов на таблицы — ресурсоемкий процесс, время выполнения которого зависит от объема таблиц в вашей базе данных. Чтобы запустить скрипты воспользуйтесь инструкцией по созданию индексов, где приведены пошаговые рекомендации для администраторов серверной версии ТестОпс. Если вы выполните шаги инструкции перед установкой версии 5.20.0 или выше, приложение не будет повторно запускать скрипты и вы сможете работать в ТестОпс сразу после запуска инстанса.

5. Запустите инстанс версии 5.x ​

Настройка подключения к базе данных ​

База данных для ТестОпс версии 5.х — обновленная база данных сервиса report, которую вы получили на предыдущих этапах.

Важно

После завершения миграции каждый пользователь инстанса ТестОпс должен очистить кэш и файлы cookie во всех используемых браузерах. Это нужно, чтобы данные из предыдущей версии ТестОпс не мешали корректной работе обновленной версии. Подробнее см. База знаний ТестОпс.

Чтобы запустить ТестОпс 5.x, следуйте инструкциям из разделов Установка чарта и Развертывание приложения.

Pager
Next pageО продукте

Logo © 2025 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»