Установка ТестОпс версии 5.x в Docker Compose
Внимание
Инструкция для версии 4.x перенесена в архив. Чтобы установить и запустить ТестОпс, используйте только актуальную инструкцию.
Установка ТестОпс с помощью Docker Compose подойдет при максимальной нагрузке на инстанс до 3 000 результатов автотестов за запуск или 30 000 — за сутки. При большей нагрузке стабильность работы в Docker Compose ниже, чем при развертывании с помощью Kubernetes, RPM-пакетов или DEB-пакетов.
Миграция с ТестОпс версии 4.x
Внимание
ТестОпс версии 5.х нельзя развернуть поверх версии 4.х. Для обновления необходима миграция данных в одну базу данных, а также переход на новую конфигурацию.
Перейти на ТестОпс версии 5.х можно только с версии 4.26.5. Обновление с более старых версий приведет к сбоям в системе и потере данных.
Чтобы обновить ТестОпс версии 4.26.5 до версии 5.x, см. Переход с ТестОпс версии 4.x на 5.x.
Подготовительные шаги для установки ТестОпс версии 5.x «с нуля»
Разверните дополнительные сервисы, необходимые для запуска ТестОпс:
- сервер PostgreSQL (подробнее см. База данных);
- S3-совместимое хранилище, такое как Amazon S3, Google Cloud Storage, MinIO или другое решение (подробнее см. S3-совместимое хранилище);
- брокер сообщений RabbitMQ;
- службу Redis.
Важно
Рекомендуем развертывать дополнительные сервисы отдельно — не на той же виртуальной машине или сервере, где вы планируете развертывать инстанс ТестОпс. Это повышает производительность сервисов и облегчает их обслуживание.
Установка без выделенных внешних сервисов возможна (например, в демоверсии ТестОпс), однако этот вариант предназначен только для оценки возможностей ТестОпс и официально не поддерживается. Обслуживание и обновление подобной конфигурации могут привести к длительному простою или потере данных. Мы не сможем помочь в решении проблем и восстановлении сервиса.
Получите информацию об аутентификации внутри вашей компании.
Данные, необходимые для настройки, зависят от того, какой метод аутентификации пользователя вы выберете:
Локальная аутентификация по имени и паролю пользователя — требуется SMTP-сервер для отправки приглашений новым пользователям.
Аутентификация через провайдера идентификации — требования зависят от провайдера идентификации.
Получите пробную или коммерческую основную лицензию ТестОпс:
Перейдите по адресу qatools.ru/pricing.
Выберите нужный тип лицензии и заполните форму запроса.
Совет
Рекомендуем указывать общую корпоративную почту или почту, доступную нескольким сотрудникам.
После получения запроса с вами свяжется наш отдел продаж.
Вместе с лицензионным ключом вы получите имя пользователя и пароль для доступа к образу ТестОпс.
Загрузка и изменение файлов конфигурации
Скачайте архив конфигурационных файлов Docker Compose в формате ZIP.
Извлеките файлы из архива в домашнюю директорию пользователя на виртуальной машине или сервере, где вы планируете разворачивать ТестОпс.
Перейдите в директорию распакованного архива.
В зависимости от выбранного метода аутентификации перейдите в соответствующую директорию:
Примечание
Директория testops-demo содержит демоверсию ТестОпс, которая не подходит для производственной среды. Эту конфигурацию можно использовать только в ознакомительных целях.
- testops — для локальной аутентификации по имени и паролю пользователя;
- testops-ldap — для аутентификации через LDAP-сервер;
- testops-saml — для аутентификации через провайдера идентификации по стандарту SAML 2.0;
- testops-openid — для аутентификации через провайдера идентификации по протоколу OpenID Connect.
В каждой директории находятся два файла:
- docker-compose.yml — конфигурационный файл Docker Compose, в котором описана инфраструктура ТестОпс;
- env-example — шаблон, в котором перечислены переменные окружения для развертывания ТестОпс в Docker Compose.
Содержимое файлов зависит от метода аутентификации, который вы выбрали, но процесс установки остается неизменным.
Переименуйте файл env-example выбранной конфигурации в .env.
Переместите файлы .env и docker-compose.yml в директорию, где вы планируете хранить настройки для инстанса ТестОпс версии 5.x.
Откройте файл .env в текстовом редакторе и выполните шаги ниже:
Выбор версии ТестОпс
В параметре RELEASE_TO_DEPLOY укажите версию ТестОпс, которую вы хотите использовать, например:
sh
RELEASE_TO_DEPLOY=5.10.3Примечание
Мы рекомендуем использовать последнюю доступную версию, так как она содержит новые возможности и улучшения в ТестОпс с исправлениями ошибок из предыдущих версий. Подробнее см. Релизы ТестОпс.
Реестр образов и репозиторий
Чтобы загрузить образ ТестОпс, укажите реестр образов и репозиторий, из которого будет загружен образ:
sh
IMAGES_REGISTRY=reg.qatools.ru
IMAGES_REPO=testopsНастройка URL-адреса ТестОпс
Укажите URL-адрес инстанса, определив три параметра:
TESTOPS_INSTANCE_URL— введите URL-адрес или IP-адрес, который пользователи и интеграции, например CI-системы, будут использовать для доступа к ТестОпс;TESTOPS_INSTANCE_PORT— укажите порт, который пользователи и интеграции, например CI-системы, будут использовать для доступа к ТестОпс;TESTOPS_PROTO— укажите протокол HTTP или HTTPS, который ТестОпс будет использовать для коммуникации;TESTOPS_SECURE_COOKIE— укажите true. Если в параметреTESTOPS_PROTOвы указали протокол HTTPS, вам необходимо включить защищенные cookie.
Важно
Параметры должны совпадать с фактическим URL-адресом, иначе ТестОпс будет передавать неверные ссылки внешним инструментам, таким как CI-системы.
Пример параметров для инстанса ТестОпс, доступного по адресу https://testops.example.com (используется порт 80 — стандартный для HTTP):
sh
TESTOPS_INSTANCE_URL=testops.example.com
TESTOPS_INSTANCE_PORT=80
TESTOPS_PROTO=httpПримечание
Чтобы открыть доступ к ТестОпс через HTTPS, необходимо настроить обратный прокси. Подробнее см. Настройка сети.
Если вы планируете интеграцию ТестОпс с Jira, используйте HTTPS и включите защищенные cookie, чтобы интеграция работала правильно. Подробнее см. Интеграция с Jira Data Center и Интеграция с Jira Software Cloud.
Настройка параметров безопасности
Ключ шифрования
В качестве меры безопасности ТестОпс шифрует важные значения в базе данных с помощью алгоритма AES-256. Таким образом, если злоумышленник получит доступ к базе данных PostgreSQL, но не к файлу конфигурации, он не получит учетные данные сторонних сервисов, которые использует ваш инстанс.
Чтобы установить ключ шифрования, придумайте пароль и укажите его в качестве значения параметра TESTOPS_CRYPTO_PASSWORD, например:
ini
TESTOPS_CRYPTO_PASSWORD=MolehillQuiverLatterSturdilyМы рекомендуем сохранить пароль в безопасном месте, чтобы его можно было восстановить при необходимости.
Важно
Если вы забудете значение параметра TESTOPS_CRYPTO_PASSWORD или измените его после начального развертывания, все текущие интеграции перестанут работать. В таком случае вам нужно будет зайти в настройки каждого проекта и заново ввести учетные данные для каждой интеграции.
JWT-секрет
ТестОпс использует стандарт JWTJSON Web Token — открытый стандарт для передачи информации в виде ключей в формате JSON для аутентификации запросов. В рамках этого стандарта вам нужно создать секрет, который будет использоваться для подписи токенов. Рекомендованная длина секрета — от 8 до 16 символов. Чем длиннее секрет, тем больше ресурсов ЦПУ понадобится для вычисления подписи.
Чтобы установить секрет, укажите его в качестве значения параметра TESTOPS_JWT_SECRET, например:
sh
TESTOPS_JWT_SECRET=123456789ABCDEFВы можете изменить секрет в любое время, это не повлияет на работу пользователей.
Настройка параметров SMTP-сервера
ТестОпс использует значения параметров SMTP-сервера, чтобы отправить пригласительное письмо первому администратору. Вне зависимости от основного метода аутентификации первый администратор должен принять приглашение, отправленное на электронную почту. Только после этого он сможет создать учетную запись и активировать основную лицензию для инстанса ТестОпс.
Важно
Чтобы развернуть инстанс ТестОпс, обязательно определите параметры SMTP-сервера. Без этого шага вы не сможете запустить ТестОпс.
Чтобы настроить параметры SMTP-сервера:
В параметре
FIRST_ADMIN_EMAILукажите адрес электронной почты первого администратора, например:shFIRST_ADMIN_EMAIL=admin@example.comУкажите параметры SMTP-сервера согласно инструкции Настройка SMTP.
Настройка аутентификации
ТестОпс поддерживает несколько способов аутентификации пользователей. Выберите подходящий и следуйте соответствующей инструкции:
- Локальная аутентификация — аутентификация по имени и паролю пользователя, которая используется в ТестОпс по умолчанию. Не требует дополнительных сервисов, кроме настроенного SMTP-сервера. Администраторы приглашают пользователей по электронной почте, после чего пользователи создают учетные записи и входят в систему.
- LDAP — аутентификация через LDAP-сервер.
- SAML 2.0 — аутентификация через провайдера идентификации по стандарту SAML 2.0.
- OpenID Connect (например, с Microsoft Entra ID или Keycloak) — аутентификация через провайдера идентификации по протоколу OpenID Connect.
Настройка сервисов хранения данных
Чтобы подключиться к сервисам хранения данных, которые используются в ТестОпс, определите параметры для:
подключения к серверу Redis:
REDIS_HOST— введите имя хоста сервера;REDIS_PORT— введите порт сервера;REDIS_PASS— введите пароль для подключения к хранилищу.
подключения к базе данных PostgreSQL:
TESTOPS_DB_HOST— введите имя хоста сервера базы данных;TESTOPS_DB_PORT— введите порт сервера базы данных;TESTOPS_DB_NAME— введите имя базы данных;TESTOPS_DB_USERNAME— введите имя пользователя для подключения к базе данных;TESTOPS_DB_PASS— введите пароль для подключения к базе данных.
подключения к S3-совместимому хранилищу:
TESTOPS_S3_URL— введите URL-адрес сервера;TESTOPS_S3_BUCKET— введите имя бакета S3;TESTOPS_S3_REGION— введите имя региона S3;TESTOPS_S3_ACCESS_KEY— введите ключ доступа для подключения к бакету;TESTOPS_S3_SECRET_KEY— введите секрет для подключения к бакету.
Вы можете изменить дополнительные параметры для тонкой настройки производительности или поддержки нестандартных конфигураций сервисов хранения. Проверьте комментарии в файле .env и при необходимости проконсультируйтесь со службой поддержки ТестОпс.
Настройка брокера сообщений
Важно
Начиная с версии 5.25 (сборка 525f01) в ТестОпс поддерживается работа с кворумными очередями в режиме высокодоступного сервиса в RabbitMQ версии 4.x.
Чтобы подключиться к серверу RabbitMQ, определите параметры:
RABBIT_HOST— введите имя хоста сервера;RABBIT_PORT— введите порт сервера;RABBIT_USER— введите имя пользователя для подключения к очереди сообщений;RABBIT_PASS— введите пароль для подключения к очереди сообщений.
Если вы используете RabbitMQ 4.x с кворумными очередями, дополнительно добавьте параметры:
ALLURE_RABBIT_QUORUM_ENABLED=true;ALLURE_RABBIT_QUORUM_INITIALGROUPSIZE=3.
Количество нод должно быть нечетным и не менее 3.
Если вы переходите на RabbitMQ 4.x с предыдущих версий, см. Часто задаваемые вопросы (FAQ) → Как перейти на RabbitMQ 4.x с кворумными очередями?
Первый запуск ТестОпс
Загрузка Docker-образов
Перед первым запуском ТестОпс вам необходимо загрузить Docker-образы — образы сервисов ТестОпс и сторонних сервисов (например, Redis, MinIO).
Примечание
Точный список образов зависит от выбранного вами шаблона конфигурации. Например, демоверсия ТестОпс (не подходит для производственной среды) включает в себя сервис PostgreSQL, которого нет в других конфигурациях. Мы рекомендуем не полагаться на сервисы хранения данных, предоставляемые по умолчанию. Оптимальный вариант — развернуть все сервисы отдельно, указав их учетные данные в конфигурационном файле ТестОпс.
Чтобы загрузить Docker-образы:
Откройте терминал.
Перейдите в директорию установки ТестОпс, например:
shcd ~/testopsВойдите в реестр Docker-образов:
shdocker login reg.qatools.ru --username <username> --password <password>где
usernameиpassword— учетные данные, предоставленные отделом продаж.Загрузите образы:
shdocker compose pullПроцесс может занять несколько минут в зависимости от скорости интернет-соединения на вашем сервере или виртуальной машине.
Запуск приложения
Примечание
При каждом запуске, включая первый запуск и обновление инстанса, ТестОпс выполняет проверку всех настроек и пытается подключиться ко всем настроенным сервисам:
- Если все указано правильно, ТестОпс отправляет приглашение на электронную почту, которую вы указали в параметре
FIRST_ADMIN_EMAIL. - Если ТестОпс не может подключиться к каким-либо сервисам или параметры конфигурации указаны неверно, приложение завершается с ошибкой, а детали сбоя отражаются в логах.
Чтобы впервые запустить ТестОпс:
Откройте терминал.
Перейдите в директорию установки ТестОпс, например:
shcd ~/testopsЗапустите ТестОпс:
shdocker compose up -dЗапуск всех сервисов ТестОпс занимает некоторое время. Подождите несколько минут перед переходом к следующему шагу.
После запуска ТестОпс вам придет письмо с приглашением на адрес, который вы указали в параметре
FIRST_ADMIN_EMAIL. В полученном письме нажмите Принять приглашение.Примечание
Если в браузере появляется ошибка «Невозможно подключиться» (“Unable to connect”) или «Сайт недоступен» (“This site can't be reached”), это может означать, что некоторые сервисы все еще инициализируются.
Если через 5 минут браузер все еще не сможет открыть страницу, см. Устранение неполадок.
В форме принятия приглашения введите полное имя администратора и учетные данные, которые будут использоваться для входа в систему: Имя пользователя и Пароль.
Важно
Имя пользователя должно быть уникальным в пределах инстанса ТестОпс.
Нажмите Продолжить.
В форме активации введите лицензионный ключ, который вы получили от отдела продаж. Убедитесь, что вы указываете ключ без лишних пробелов и других символов.
Нажмите Активировать лицензию.
Примечание
Подробнее об управлении лицензиями см. Система лицензирования в ТестОпс.
Управление сервисами ТестОпс
Запуск
Чтобы запустить ТестОпс:
Откройте терминал.
Перейдите в директорию установки ТестОпс, например:
shcd ~/testopsЗапустите конфигурацию Docker Compose:
shdocker compose up -d
Остановка
Чтобы остановить ТестОпс:
Откройте терминал.
Перейдите в директорию установки ТестОпс, например:
shcd ~/testopsВыполните команду:
shdocker compose downВажно
Всегда используйте команду
docker compose down, чтобы применить новые параметры конфигурации. Последующая командаdocker compose up -dзаставит Docker Compose перечитать обновленный конфигурационный файл, другие команды (stop,start,restart) этого не делают.
Перезапуск
Чтобы перезапустить ТестОпс:
Откройте терминал.
Перейдите в директорию установки ТестОпс, например:
shcd ~/testopsВыполните команду:
shdocker compose down; docker compose up -d
Обновление ТестОпс
Важно
Перед началом обязательно ознакомьтесь с информацией о релизах для версии ТестОпс, на которую вы обновляетесь. В комментариях к релизу может содержаться важная информация о том, как адаптировать конфигурационные файлы или мигрировать данные на новую версию ТестОпс. Если вы пропускаете одну или несколько версий, также прочитайте комментарии к пропущенным версиям.
Чтобы обновить ТестОпс:
В директории вашей установки отредактируйте файл .env в текстовом редакторе:
- В параметре
RELEASE_TO_DEPLOYукажите версию ТестОпс, на которую вы хотите обновиться. - При необходимости измените другие параметры в соответствии с актуальной информацией о релизах.
- В параметре
Откройте терминал.
Перейдите в директорию установки ТестОпс, например:
shcd ~/testopsУбедитесь, что Docker подключен к репозиторию Docker-образов:
shdocker login reg.qatools.ru --username <username> --password <password>где
usernameиpassword— учетные данные, предоставленные отделом продаж.Обновите Docker-образы:
shdocker compose pullЭтот процесс может занять несколько минут в зависимости от скорости вашего интернет-соединения.
Перезапустите ТестОпс:
shdocker compose down; docker compose up -d
Удаление ТестОпс
Чтобы удалить ТестОпс:
Откройте терминал.
Перейдите в директорию установки ТестОпс, например:
shcd ~/testopsУдалите контейнеры Docker и все связанные данные:
shdocker compose down -v --rmi localКоманда удалит данные Docker Volume, то есть все данные, связанные с развертыванием.
Устранение неполадок
Если вы столкнулись с проблемой, не перезапускайте ТестОпс. Специалистам технической поддержки нужны логи каждого компонента, чтобы понять, что произошло.
Обратитесь в службу поддержки ТестОпс с вашей корпоративной электронной почты — нажмите Создать обращение и заполните форму:
- Подробно опишите проблему, с которой вы столкнулись.
- Укажите способ установки и версию ТестОпс, а также всех дополнительных компонентов, с которыми у вас возникли проблемы (например, allurectl, интеграционные плагины).
- Следуя инструкции ниже, получите логи из вашей системы и прикрепите их к обращению в виде вложений. Добавление других типов логов не требуется.
Получение логов конкретного компонента
Развертывание ТестОпс состоит из нескольких компонентов (основной из них — testops). Чтобы обратиться в службу поддержки, вам нужно получить логи каждого компонента отдельно.
Откройте терминал.
Перейдите в директорию установки ТестОпс, например:
shcd ~/testopsВыведите список запущенных служб ТестОпс:
shdocker compose psПример списка:
plainname@computer folder-name % docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS testops testops/testops:5.6.4 "...entrypoint.sh" testops hour ago healthy 7777->8080/tcp rabbitmq rabbitmq:3.9 "...entrypoint.sh" rabbitmq hour ago healthy 5671-5672/tcp redis redis:6.2 "...entrypoint.sh" redis hour ago healthy 6379/tcpВыберите
SERVICE, для которого вы хотите сохранить логи. Например,testopsсодержит логи приложения ТестОпс, аredis— логи для экземпляра Redis, развернутого в Docker Compose (если вы его используете).Сохраните логи в файл:
shdocker compose logs ⟨SERVICE⟩ > ⟨SERVICE⟩.logгде
SERVICE— имя сервиса из списка запущенных служб.Например:
shdocker compose logs testops > testops.log
Дополнительные проверки
Также проверьте:
- количество доступной памяти для хранения артефактов:
df -h --total; - доступные i-узлы для хранения артефактов:
df -i; - количество доступной оперативной памяти:
free -h,top.

