Skip to content
Main Navigation
Автоматизированное тестирование
Интеграции
Ручное тестирование
Дашборды и аналитика
Ресурсы
Документация
Блог
События
Последнее из блога
Управление дефектами
Управление дефектами
Разбираем понятия дефекта, ошибки и отказа, чтобы эффективно описывать их в баг-репортах, учитывать в тестировании и улучшить работу команды и баг-трекера.
Тестирование производительности
Тестирование производительности
Изучаем методы и средства для оценки быстродействия системы, а также определяем, когда и как лучше всего проводить тестирование: с помощью нагрузочного или стрессового подхода.
Настройка вебхуков в ТестОпс для Slack
Настройка вебхуков в ТестОпс для Slack
Гайд по настройке вебхуков в ТестОпс на примере создания сообщений для канала в Slack.
Перейти в блог
ТарифыПартнерыСвязаться с нами
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)

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

GitHub

GitLab

Jira Data Center

Jira Software Cloud

Kaiten

Redmine

Wrike

Yandex Tracker

YouTrack

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

TestRail

Xray

Zephyr Scale

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

allurectl

AQL

API

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

SaaS

ТестОпс как SaaS

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

On this page

Установка ТестОпс версии 5.x в Kubernetes ​

Внимание

В разделе описывается, как установить и запустить ТестОпс версии 5.х в кластере Kubernetes с помощью нашего официального Helm-чарта.

Инструкция для версии 4.x перенесена в архив. Чтобы установить и запустить ТестОпс, пожалуйста, используйте только актуальную инструкцию.

Кластер Kubernetes — рекомендуемый способ запуска ТестОпс в производственной среде с высокой нагрузкой. Он позволяет масштабировать решение при возрастающей нагрузке и обновлять систему без ее остановки.

Миграция с ТестОпс версии 4.x ​

Внимание

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

Перейти на ТестОпс версии 5.х можно только с версии 4.26.5. Обновление с более старых версий приведет к сбоям в системе и потере данных.

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

Совет

Перед объединением баз данных мы настоятельно рекомендуем перенести их на отдельный сервер и выполнить все миграции на этом сервере, если ваши базы данных расположены в подах с PVC (Persistent Volume Claim). В будущем такой вариант сэкономит вам время при миграциях и обновлениях.

Также рекомендуем создать резервные копии всех баз данных перед их объединением.

Подготовительные шаги для установки ТестОпс версии 5.x «с нуля» ​

  1. Установите kubectl (руководство по установке на сайте Kubernetes).

  2. Установите Helm (руководство по установке на сайте Helm).

  3. Разверните дополнительные сервисы, необходимые для запуска ТестОпс:

    • сервер PostgreSQL (см. инструкцию по созданию базы данных);
    • хранилище, совместимое с S3, такое как Amazon S3, Google Cloud Storage, MinIO или другое решение;
    • службу очереди сообщений RabbitMQ;
    • службу Redis.

    Примечание

    Установка без выделенных внешних сервисов тоже возможна (например, в демоверсии ТестОпс), однако такой вариант предназначен только для оценочных целей и официально не поддерживается. Обслуживание и обновление подобной конфигурации могут привести к значительному времени простоя или потере данных. Мы не сможем помочь в решении проблем и восстановлении сервиса.

    Важно

    ТестОпс не поддерживает работу с кворумными очередями в режиме высокодоступного сервиса в RabbitMQ версии 4.0 и выше. Если для инсталляции RabbitMQ требуется режим высокой доступности — необходимо выбирать RabbitMQ версии ниже 4.0.

  4. Получите лицензию для ТестОпс:

    • Пробную лицензию можно получить, заполнив форму запроса на нашем сайте.
    • Коммерческую лицензию можно приобрести через отдел продаж.
  5. Получите подробную информацию о настройке аутентификации внутри вашей организации.

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

    • Стандартная аутентификация с помощью имени пользователя и пароля, реализованная в ТестОпс.

      Этот вариант использует SMTP-сервер для отправки приглашений новым пользователям и не требует использования дополнительных сервисов.

    • Аутентификация через внешнего провайдера идентификационных данных (IdP).

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

Загрузка и изменение файла конфигурации ​

  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 в текстовом редакторе.

    Файл определяет параметры, которые будут влиять на поведение вашей инстанции ТестОпс. Для типичной настройки выполните следующие действия:

    1. Укажите версию ТестОпс.
    2. Укажите правильную информацию о реестре образов и репозитории.
    3. Настройте URL-адрес ТестОпс.
    4. Настройте балансировщик нагрузки.
    5. Настройте параметры безопасности.
    6. Настройте адрес электронной почты первого администратора.
    7. Настройте аутентификацию.
    8. Настройте сервисы хранения данных.

Выбор версии ТестОпс ​

В параметре version укажите версию ТестОпс, которую вы хотите использовать, например:

yaml
version: 5.10.3

Примечание

Версии приложения и Helm-чарта не всегда совпадают. От Helm-чарта зависит минимально поддерживаемая версия приложения. Например, последнюю версию Helm-чарта 5.7.0 можно использовать с ТестОпс 5.7.0 и более поздними версиями приложения. Однако с выходом новой версии Helm-чарта, например 5.8.1, уже будет нельзя использовать версию Helm-чарта 5.7.0 с версиями ТестОпс 5.8.1 и выше.

Шаги по установке актуальны для любой версии, начиная с ТестОпс 5.4.0. Мы рекомендуем использовать только последнюю доступную версию, так как она содержит новые возможности и улучшения в ТестОпс, а также исправления ошибок. Чтобы получить список доступных версий, ознакомьтесь с разделом Информация о релизах.

Реестр образов и репозиторий ​

Чтобы загрузить образ TecтОпс, в разделе image укажите реестр образов и репозиторий, из которого будет загружен образ:

yaml
image:
  registry: reg.qatools.ru
  repository: testops
  imageName: testops
  pullPolicy: IfNotPresent
  authRequired:
    enabled: true
    username: имя пользователя, полученное через отдел продаж
    password: пароль, полученный через отдел продаж
    credsKubeSecretName: qatools-reg-pull-secret

Настройка URL-адреса ТестОпс ​

Укажите URL-адрес установки, определив три параметра:

  • instanceFqdn — имя хоста, которое пользователи и интеграции, например CI-серверы, будут использовать для доступа к ТестОпс;
  • port — порт, который пользователи будут использовать для доступа к ТестОпс;
  • network.tls.enabled — при значении true контроллер Ingress в Kubernetes будет использовать протокол HTTPS вместо HTTP.

В приведенном ниже примере инстанс ТестОпс доступен по адресу https://testops.example.com (используется порт 80 — стандартный порт для HTTP).

yaml
instanceFqdn: testops.example.com
port: 8080
# ...
network:
  tls:
    enabled: false
    # ...
  # ...
# ...

Подробнее см. в разделе Сеть.

Настройка балансировщика нагрузки ​

Существует множество способов управления входящим и исходящим трафиком в кластере Kubernetes. Выбор лучшего варианта зависит от ваших конкретных потребностей. ТестОпс предлагает два решения для распространенных случаев использования:

  • Чтобы использовать сервис Ingress, установите параметру network.ingress.enabled значение true.
  • Чтобы использовать сервис Istio, установите параметру network.istio.enabled значение true.

Настройка параметров безопасности ​

Ключ шифрования ​

В качестве меры безопасности ТестОпс шифрует важные значения в базе данных с помощью алгоритма AES-256. Таким образом, если злоумышленник получит доступ к базе данных PostgreSQL, но не к файлу конфигурации, он не получит учетные данные сторонних сервисов, используемых вашим инстансом.

Чтобы установить ключ шифрования, придумайте парольную фразу, закодируйте ее в формате Base64 и укажите в качестве значения параметра cryptoPass. Мы рекомендуем сохранить парольную фразу в безопасном месте, чтобы ее можно было восстановить при необходимости.

yaml
cryptoPass: TW9sZWhpbGxRdWl2ZXJMYXR0ZXJTdHVyZGlseQ==

Важно

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

Секретный ключ JWT ​

ТестОпс использует открытый стандарт JSON Web Token для аутентификации запросов. В рамках этого стандарта вам нужно создать секретный ключ, который будет использоваться для подписи токенов.

Чтобы установить ключ, укажите его в качестве значения параметра jwtSecret в формате Base64. Рекомендованная длина ключа (до кодирования в Base64) — от 8 до 16 символов. Чем длиннее ключ, тем больше ресурсов ЦПУ понадобится для вычисления подписи.

Вы можете изменить секретный ключ в любое время, это не повлияет на работу пользователей.

yaml
jwtSecret: MTIzNDU2Nzg5QUJDREVG

Настройка почты для первого администратора ​

ТестОпс использует учетные данные SMTP, чтобы отправить пригласительное письмо первому администратору. Вне зависимости от основного метода аутентификации первый администратор должен принять приглашение, отправленное на электронную почту. Только после этого он сможет создать аккаунт и активировать лицензию для инстанса ТестОпс.

Важно

Начиная с версии 5.4.0, эти настройки обязательны при развертывании нового инстанса ТестОпс. Начиная с версии 5.6.0, первый запуск ТестОпс невозможен без использования настроенного SMTP-сервера.

Чтобы настроить SMTP:

  1. В параметре email укажите адрес электронной почты первого администратора.

    Пример:

    yaml
    email: [email protected]
  2. Укажите учетные данные SMTP согласно инструкции.

Настройка аутентификации ​

Необходимый шаг при развертывании ТестОпс — настройка того, как пользователи (кроме первого администратора) будут регистрироваться и входить в систему.

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

yaml
auth:
  primary: system
  defaultRole: ROLE_GUEST

Совет

Установка defaultRole: ROLE_GUEST полезна для контроля того, как используются лицензии, — пользователям с ролью ROLE_GUEST не нужны лицензии, также они не имеют доступа к проектам.

Настройка сервисов хранения данных ​

Чтобы подключиться к сервисам хранения данных, которые используются в ТестОпс, определите параметры для:

  • подключения к серверу Redis:

    • redis.host — имя хоста сервера;
    • redis.port — порт сервера;
    • redis.auth.password — пароль для подключения к хранилищу.
  • подключения к базе данных PostgreSQL:

    • postgresql.enabled — при значении true Kubernetes создаст новую базу данных внутри кластера вместо использования параметров подключения. Не рекомендуется для производственной среды;
    • datasources.mainDatasource.dbHost — имя хоста сервера базы данных;
    • datasources.mainDatasource.dbPort — порт сервера базы данных;
    • datasources.mainDatasource.dbName — имя базы данных;
    • datasources.mainDatasource.username — имя пользователя для подключения к базе данных;
    • datasources.mainDatasource.password — пароль для подключения к базе данных.

    См. раздел Разделение пулов соединений о настройке пулов соединений базы данных для различных типов операций.

  • подключения к серверу хранения данных, совместимому с S3:

    • minio.enabled — при значении true Kubernetes создаст новый сервер S3 внутри кластера вместо использования параметров подключения. Не рекомендуется для производственной среды;
    • storage.s3.endpoint — URL-адрес сервера;
    • storage.s3.bucket — имя бакета S3;
    • storage.s3.region — имя региона S3;
    • storage.s3.accessKey — ключ доступа для подключения к бакету;
    • storage.s3.secretKey — секретный ключ для подключения к бакету.

    Информацию о том, как настроить доступ к внешним S3-хранилищам, таким как Amazon S3 и Google Cloud Storage, см. в этой статье.

Некоторые дополнительные параметры могут быть изменены для тонкой настройки производительности или поддержки нестандартных конфигураций сервисов хранения. Проверьте комментарии в файле values.yaml и при необходимости проконсультируйтесь со службой поддержки ТестОпс.

Настройка сервиса очередей ​

Важно

ТестОпс не поддерживает работу с кворумными очередями в режиме высокодоступного сервиса в RabbitMQ версии 4.0 и выше. Если для инсталляции RabbitMQ требуется режим высокой доступности — необходимо выбирать RabbitMQ версии ниже 4.0.

Чтобы подключиться к сервису очередей, который используется в ТестОпс, укажите параметры подключения к серверу RabbitMQ:

  • rabbitmq.enabled — при значении true Kubernetes создаст новый сервер RabbitMQ внутри кластера вместо использования параметров подключения. Не рекомендуется для производственной среды;
  • rabbitmq.hosts — список местоположений серверов, разделенных запятыми, в формате AMQP;
  • rabbitmq.auth.username — имя пользователя для подключения к очереди сообщений;
  • rabbitmq.auth.password — пароль для подключения к очереди сообщений.

Развертывание ТестОпс ​

Установка чарта ​

После подготовки файла values.yaml вы можете установить Helm-чарт и запустить ТестОпс.

  1. Откройте терминал.

  2. Подключите Kubernetes к репозиторию Helm:

    sh
    helm repo add qatools https://dl.qatools.ru/repository/helm-charts --username <username> --password <password>

    где username и password — учетные данные, предоставленные отделом продаж.

  3. Обновите данные репозитория:

    sh
    helm repo update
  4. Перейдите в директорию, содержащую файл values.yaml, например:

    sh
    cd ~/testops

Развертывание приложения ​

  1. Разверните ТестОпс с помощью Helm-чарта и сконфигурированного файла values.yaml:

    sh
    helm upgrade --install testops qatools/testops \
        -f values.yaml \
        --set probes.enabled=false \
        --namespace testops \
        --create-namespace

    На этом этапе вам нужно дождаться завершения двух длительных операций:

    1. Перед запуском каких-либо сервисов Kubernetes должен загрузить необходимые образы из реестра.
    2. Во время запуска сервис ТестОпс должен инициализировать свою базу данных.

    При первом запуске ТестОпс применяет изменения к схеме базы данных. Ее инициализация может занять больше времени, чем указано в таймауте сервиса. Чтобы Kubernetes не останавливал сервисы из-за таймаутов, в команде выше используется аргумент --set probes.enabled=false, который отключает проверки готовности и жизнеспособности сервисов. Аргумент используется при каждом обновлении ТестОпс, если в информации о релизах указано, что для релиза необходима миграция данных внутри базы данных.

  2. Дождитесь готовности развертывания testops-testops.

    Используйте kubectl get all, чтобы просмотреть статус развертываний и подов. Когда каждый под примет статус Running, инициализация ТестОпс будет завершена.

  3. После завершения инициализации включите проверки готовности и жизнеспособности сервисов, которые были отключены во время установки. Для этого выполните обновление чарта без аргумента --set probes.enabled=false:

    sh
    helm upgrade testops qatools/testops -f values.yaml --namespace testops

Первый запуск ​

При первом запуске ТестОпс необходимо ввести лицензионный ключ. Для этого выполните действия:

  1. Запустите ТестОпс.

  2. После запуска ТестОпс вам придет письмо с приглашением на адрес, который вы указали в email. В полученном письме нажмите Принять приглашение.

    Примечание

    Если в браузере появляется ошибка «Невозможно подключиться» (“Unable to connect”) или «Сайт недоступен» (“This site can't be reached”), это может означать, что некоторые сервисы все еще инициализируются.

    Если через 5 минут браузер все еще не сможет открыть страницу, обратитесь к разделу Устранение неполадок.

  3. В форме принятия приглашения введите полное имя администратора и учетные данные, которые будут использоваться для входа в систему: Имя пользователя и Пароль. Имя пользователя должно быть уникальным в пределах инстанса ТестОпс.

    Нажмите Продолжить.

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

    Нажмите Активировать лицензию.

Обновление ​

Важно

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

  1. Откройте терминал.

  2. Обновите данные репозитория:

    sh
    helm repo update
  3. Перейдите в директорию, содержащую файл values.yaml, например:

    sh
    cd ~/testops
  4. Выполните обновление:

    sh
    helm upgrade testops qatools/testops -f values.yaml --namespace testops --set probes.enabled=false

    На этом этапе вам нужно дождаться завершения двух длительных операций:

    1. Перед запуском каких-либо сервисов Kubernetes должен загрузить необходимые образы из реестра.
    2. Во время запуска сервису ТестОпс потребуется повторно инициализировать свою базу данных.

    Аргумент -set probes.enabled=false, используемый в команде, отключает проверки готовности и жизнеспособности сервисов. Это позволяет Kubernetes не останавливать сервисы из-за таймаутов. Аргумент можно не использовать, если в информации о релизах не указано, что для релиза необходима миграция данных внутри базы данных.

  5. Дождитесь готовности развертывания testops-testops.

    Используйте kubectl get all, чтобы просмотреть статус развертываний и подов. Когда каждый под примет статус Running, инициализация ТестОпс будет завершена.

  6. После завершения повторной инициализации включите проверки готовности и жизнеспособности сервисов, которые были отключены во время установки. Для этого снова выполните обновление чарта, но уже без аргумента -set probes.enabled=false:

    sh
    helm upgrade testops qatools/testops -f values.yaml --namespace testops

Удаление ​

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

shell
helm delete testops --namespace testops && kubectl delete namespace testops

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

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

Обратитесь в службу поддержки ТестОпс с вашей корпоративной электронной почты — нажмите Создать обращение и заполните форму:

  1. Подробно опишите проблему, с которой вы столкнулись.
  2. Укажите способ установки и версию ТестОпс, а также всех дополнительных компонентов, с которыми у вас возникли проблемы (allurectl, интеграционные плагины и т. д.).
  3. Приложите логи из вашей системы в качестве вложений к обращению (см. подробности ниже). Пожалуйста, добавляйте только логи, описанные ниже, и только в виде вложения.

Чтобы получить нужную информацию для отладки, выполните следующий набор команд:

Получение списка всех установленных компонентов ​

bash
kubectl get all --namespace testops

Сохранение логов ​

bash
kubectl logs --namespace testops deployments/testops-testops > testops-log.txt

Непрерывный вывод логов ​

bash
kubectl logs --namespace testops -f deployments/testops-testops
Pager
Previous pageОбзор
Next pageDocker Compose

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