Установка ТестОпс версии 5.x с помощью DEB-пакетов
Внимание
В разделе описывается, как установить и запустить ТестОпс версии 5.х на Ubuntu Linux с помощью DEB-пакетов.
Инструкция для версии 4.x перенесена в архив. Чтобы установить и запустить ТестОпс, пожалуйста, используйте только актуальную инструкцию.
Совет
В зависимости от настроек операционной системы вы можете столкнуться с проблемами при вставке многострочных команд в терминал. Чтобы исправить ситуацию, выполните эту команду перед началом работы:
sh
bind 'set enable-bracketed-paste on'
Миграция с ТестОпс версии 4.x
Внимание
ТестОпс версии 5.х нельзя развернуть поверх версии 4.х. Для обновления необходима миграция данных в одну базу данных, а также переход на новую конфигурацию.
Перейти на ТестОпс версии 5.х можно только с версии 4.26.5. Обновление с более старых версий приведет к сбоям в системе и потере данных.
Чтобы обновить ТестОпс версии 4.26.5 до версии 5.x:
Создайте новый файл testops.conf для обновленного DEB-пакета на основе вашей конфигурации.
Остановите инстанс ТестОпс версии 4.х.
Объедините базы данных сервисов UAA и report.
Целевая база данных при объединении — база данных сервиса report.
Запустите развертывание с помощью DEB-пакета.
Для получения более подробной информации, пожалуйста, обратитесь к руководству по миграции.
Подготовительные шаги для установки ТестОпс версии 5.x «с нуля»
Убедитесь, что вы используете Ubuntu версий 20.04 LTS, 22.04 LTS или 24.04 LTS. ТестОпс официально не поддерживается на не-LTS версиях.
Чтобы проверить версию вашей операционной системы, выполните команду в терминале:
shlsb_release -a
Важно
Не устанавливайте ТестОпс на сервер, который используется для других целей. ТестОпс требует много ресурсов, поэтому совместное использование ресурсов с другими программами может привести к серьезным проблемам с производительностью.
Разверните дополнительные сервисы:
- PostgreSQL базу данных,
- MinIO или другой S3-совместимый сервер для хранения данных,
- RabbitMQ сервер сообщений,
- Redis сервер для хранения данных.
Рекомендуется запускать PostgreSQL и S3-совместимое хранилище на разных серверах.
Получите лицензию на ТестОпс.
Чтобы получить ключ для коммерческой лицензии, свяжитесь с нами по адресу [email protected]. В письме укажите, что планируете установить ТестОпс с помощью DEB-пакетов.
Вместе с лицензионным ключом вы получите имя пользователя и пароль для доступа к DEB-репозиторию ТестОпс.
Получите подробную информацию о настройке аутентификации внутри вашей организации.
Данные, необходимые для настройки, зависят от того, какой подход к аутентификации пользователя вы выберете. Возможные варианты:
Стандартная аутентификация с помощью имени пользователя и пароля, реализованная в ТестОпс.
Этот вариант использует SMTP-сервер для отправки приглашений новым пользователям и не требует использования дополнительных сервисов.
Аутентификация через внешнего провайдера идентификационных данных (IdP).
Детали, необходимые для этого, могут отличаться в зависимости от типа используемого провайдера идентификационных данных. Подробная информация о настройках находится в соответствующих разделах документации.
Установка зависимостей
Eclipse Temurin
Для запуска ТестОпс мы рекомендуем использовать среду JRE Eclipse Temurin v21. Чтобы ее установить, выполните следующие команды:
sh
sudo apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update
sudo apt install -y temurin-21-jre
Более подробную информацию об установке можно найти на сайте Adoptium.
PostgreSQL
Хотя это не рекомендуется для высоконагруженных случаев, можно запустить PostgreSQL на той же машине, на которой будет работать ТестОпс. Чтобы установить его, выполните следующие команды в терминале:
sh
wget -q -O- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor --output /usr/share/keyrings/pgdg.gpg
echo "deb [signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update
sudo apt install -y postgresql-15
Более подробная информация доступна в инструкции по установке на сайте PostgreSQL.
Независимо от варианта развертывания сервера PostgreSQL, обязательно войдите на этот сервер и подготовьте базу данных для ТестОпс.
RabbitMQ
Чтобы установить RabbitMQ, выполните следующие команды в терминале:
sh
wget -q -O- https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/setup.deb.sh | sudo bash
sudo apt install -y socat logrotate erlang
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.13.2/rabbitmq-server_3.13.2-1_all.deb -O rabbitmq-server.deb
sudo dpkg -i rabbitmq-server.deb
sudo systemctl enable rabbitmq-server
sudo systemctl start rabbitmq-server
Более подробная информация доступна в инструкции по установке на сайте RabbitMQ.
MinIO
Вы можете использовать MinIO как объектное хранилище для ТестОпс, совместимое с S3. Чтобы установить MinIO, следуйте одной из инструкций по установке на официальном сайте:
- Deploy MinIO: Single-Node Single-Drive;
- Deploy MinIO: Single-Node Multi-Drive;
- Deploy MinIO: Multi-Node Multi-Drive.
Redis
Чтобы установить Redis, выполните следующие команды в терминале:
sh
wget -q -O- https://packages.redis.io/gpg | sudo gpg --dearmor --output /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt update
sudo apt install -y redis
Более подробная информация доступна в инструкции по установке на сайте Redis.
Установка ТестОпс
Пакеты ТестОпс распространяются через репозиторий, который требует аутентификации. Если у вас есть пробная или коммерческая лицензия на ТестОпс, вы должны были получить имя пользователя и пароль в том же письме, в котором вы получили лицензионный ключ. Если вы не можете найти их, свяжитесь с нами по адресу [email protected].
Получив логин и пароль, установите пакет ТестОпс:
Откройте терминал.
Если вы не root-пользователь, введите команду
sudo su
и пароль для получения прав администратора.Импортируйте публичный ключ реестра
qatools
, выполнив команды:shcurl -s https://pub.qatools.ru/qatools.gpg | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/qatools.gpg --import chmod 644 /etc/apt/trusted.gpg.d/qatools.gpg
Выполните команду (скопируйте все строки):
shcat << EOF >> /etc/apt/sources.list.d/qatools.list deb [trusted=yes] https://dl.qatools.ru/repository/debian stable main EOF
Убедитесь, что нужный для установки файл был обновлен:
shcat /etc/apt/sources.list.d/qatools.list
Замените параметры USERNAME и PASSWORD на учетные данные, которые вам прислали при покупке лицензии ТестОпс, и выполните команду (скопируйте все строки):
shcat << EOF >> /etc/apt/auth.conf.d/qatools.conf machine dl.qatools.ru login USERNAME password PASSWORD EOF
Убедитесь, что нужный для установки файл был обновлен:
shcat /etc/apt/auth.conf.d/qatools.conf
Перезапустите терминал для применения выполненных настроек.
Обновите индекс доступных пакетов:
shsudo apt update
Выберите версию ТестОпс для установки. Список доступных версий указан в разделе Информация о релизах. Мы рекомендуем использовать только последнюю доступную версию, так как она содержит новые возможности и улучшения в ТестОпс, а также исправления ошибок.
Скопируйте и выполните эту команду целиком, а не ее строки по отдельности. Перед выполнением команды замените
5.7.0
на версию ТестОпс, которую вы хотите использовать.shcat <<EOF | sudo tee /etc/apt/preferences.d/qatools Package: testops Pin: version 5.7.0 Pin-Priority: 1000 EOF
Установите пакет ТестОпс.
shsudo apt install -y testops
Если вы используете межсетевой экран, убедитесь, что входящий трафик на TCP-порт 8080 разрешен.
Если вы используете ufw, выполните команду:
shsudo ufw allow 8080/tcp
Изменение файлов конфигурации
Параметры конфигурации задаются в файле конфигурации /opt/testops/conf/testops.conf.
Чтобы изменить параметры, откройте файл в текстовом редакторе, измените нужные значения и сохраните его. После этого перезапустите ТестОпс, чтобы применить изменения.
Совет
Для изменения файла конфигурации необходимо использовать права суперпользователя. Один из способов изменить его с такими правами - выполнить команду sudo nano
в терминале:
sh
sudo nano /opt/testops/conf/testops.conf
Для стандартной настройки выполните следующее:
- настройте URL-адрес ТестОпс,
- настройте параметры безопасности,
- добавьте адрес электронной почты первого администратора,
- настройте аутентификацию,
- настройте сервисы хранения данных.
Настройка URL-адреса ТестОпс
В параметре ALLURE_ENDPOINT
укажите URL, который должен использоваться для доступа к веб-интерфейсу ТестОпс.
sh
ALLURE_ENDPOINT=https://testops.example.com/
Примечание
Чтобы ТестОпс был доступен через HTTPS, необходимо настроить обратный прокси-сервер. Подробнее см. в разделе Сеть.
Если вы планируете интеграцию ТестОпс с Jira, используйте HTTPS и включите защищенные cookie, чтобы интеграция работала правильно. Подробнее см. в разделах Интеграция с Jira Data Center (Jira Server) и Интеграция с Jira Software Cloud.
sh
ALLURE_SECURE=true
Настройка параметров безопасности
Ключ шифрования
В качестве меры безопасности ТестОпс шифрует важные значения в базе данных с помощью алгоритма AES-256. Таким образом, если злоумышленник получит доступ к базе данных PostgreSQL, но не к файлу конфигурации, он не получит учетные данные сторонних сервисов, используемых вашим инстансом.
Чтобы установить ключ шифрования, придумайте парольную фразу и укажите ее в качестве значения параметра ALLURE_CRYPTO_PASSWORD
. Мы рекомендуем сохранить парольную фразу в безопасном месте, чтобы ее можно было восстановить при необходимости.
ini
ALLURE_CRYPTO_PASSWORD=MolehillQuiverLatterSturdily
Важно
Если вы забудете значение параметра ALLURE_CRYPTO_PASSWORD
или измените его после начального развертывания, все текущие интеграции перестанут работать. В таком случае вам нужно будет зайти в настройки каждого проекта и заново ввести учетные данные для каждой интеграции.
Секретный ключ JWT
ТестОпс использует открытый стандарт JSON Web Token для аутентификации запросов. В рамках этого стандарта вам нужно создать секретный ключ, который будет использоваться для подписи токенов.
Чтобы установить ключ, укажите его в качестве значения параметра ALLURE_JWT_SECRET
. Рекомендованная длина ключа — от 8 до 16 символов. Чем длиннее ключ, тем больше ресурсов ЦПУ понадобится для вычисления подписи.
Вы можете изменить секретный ключ в любое время, это не повлияет на работу пользователей.
ini
ALLURE_JWT_SECRET=123456789ABCDEF
Настройка почты для первого администратора
ТестОпс использует учетные данные SMTP для отправки пригласительного письма первому администратору независимо от выбранного основного метода аутентификации.
Важно
Начиная с версии 5.4.0, эти настройки обязательны при развертывании нового инстанса ТестОпс. Начиная с версии 5.6.0, первый запуск ТестОпс невозможен без использования настроенного SMTP-сервера.
Чтобы настроить SMTP:
В параметре
ALLURE_MAIL_ROOT
укажите адрес электронной почты первого администратора.Пример:
shALLURE_MAIL_ROOT=[email protected]
Важно
Если вы планируете пользоваться внешним провайдером идентификационных данных, первый администратор может не принимать приглашение по электронной почте. Учетные данные администратора уже будут управляться на стороне провайдера.
Однако вам все равно необходимо настроить SMTP в качестве резервного варианта. Без SMTP, если вы потеряете доступ к внешнему провайдеру идентификационных данных, войти в инстанс будет невозможно, так как локальный администратор будет недоступен.
Укажите учетные данные SMTP согласно инструкции.
Настройка аутентификации
Необходимый шаг при развертывании ТестОпс - настройка того, как пользователи (кроме первого администратора) будут регистрироваться и входить в систему.
Ниже приведены примеры конфигурации для различных провайдеров идентификационных данных.
Примечание
Этот вариант аутентификации требует включенного SMTP. Дополнительная настройка не требуется.
Настройка сервисов хранения данных
Чтобы подключиться к сервисам хранения данных, которые используются в ТестОпс, определите параметры для:
подключения к серверу хранения данных Redis:
SPRING_DATA_REDIS_HOST
— имя хоста сервера;SPRING_DATA_REDIS_PORT
— порт сервера;SPRING_DATA_REDIS_PASSWORD
— пароль для подключения к хранилищу.
подключения к базе данных PostgreSQL:
SPRING_DATASOURCE_URL
— локация базы данных в формате JDBC URL;SPRING_DATASOURCE_USERNAME
— имя пользователя для подключения к базе данных;SPRING_DATASOURCE_PASSWORD
— пароль для подключения к базе данных.
подключения к серверу RabbitMQ:
SPRING_RABBITMQ_HOST
— имя хоста сервера;SPRING_RABBITMQ_PORT
— порт сервера;SPRING_RABBITMQ_USERNAME
— имя пользователя для подключения к очереди сообщений;SPRING_RABBITMQ_PASSWORD
— пароль для подключения к очереди сообщений.
подключения к серверу хранения данных, совместимому с S3:
ALLURE_BLOBSTORAGE_S3_ENDPOINT
— URL-адрес сервера;ALLURE_BLOBSTORAGE_S3_BUCKET
— название бакета S3;ALLURE_BLOBSTORAGE_S3_REGION
— название региона S3;ALLURE_BLOBSTORAGE_S3_ACCESSKEY
— ключ доступа для подключения к бакету;ALLURE_BLOBSTORAGE_S3_SECRETKEY
— секретный ключ для подключения к бакету.
Информацию о том, как настроить доступ к внешним S3-хранилищам, таким как Amazon S3 и Google Cloud Storage, см. в этой статье.
Некоторые дополнительные параметры могут быть изменены для тонкой настройки производительности или поддержки нестандартных конфигураций сервисов хранения. Проверьте комментарии в файле testops.conf и при необходимости проконсультируйтесь со службой технической поддержки ТестОпс.
Первый запуск ТестОпс
При первом запуске ТестОпс необходимо ввести лицензионный ключ, который вы получили по электронной почте во время покупки лицензии. Для этого выполните действия:
Откройте терминал.
Перезапустите службы, чтобы применить изменения в файле конфигурации.
shsudo systemctl restart testops
Перезапуск всех сервисов ТестОпс займет некоторое время. Дождитесь завершения перезапуска, прежде чем переходить к следующему шагу.
После запуска инстанса ТестОпс вам придет письмо с приглашением на адрес, который вы указали в
ALLURE_MAIL_ROOT
. В полученном письме нажмите Принять приглашение.Примечание
Если в браузере появляется ошибка «Невозможно подключиться» (“Unable to connect”) или «Сайт недоступен» (“This site can't be reached”), это может означать, что некоторые сервисы все еще инициализируются.
Если через пять минут браузер все еще не может открыть страницу, см. раздел Устранение неполадок.
В форме принятия приглашения введите полное имя администратора и учетные данные, которые будут использоваться для входа в систему: Имя пользователя и Пароль. Нажмите Продолжить.
Важно
Имя пользователя должно быть уникальным в рамках вашего инстанса ТестОпс.
В форму активации введите лицензионный ключ, который вы получили при покупке лицензии ТестОпс. Убедитесь, что лицензионный ключ скопирован и введен без лишних пробелов и других символов. Нажмите Активировать лицензию.
Управление сервисами ТестОпс
Запуск сервисов
Чтобы запустить ТестОпс, в терминале выполните команду:
sh
sudo systemctl start testops
Остановка сервисов
Чтобы остановить ТестОпс, в терминале выполните команду:
sh
sudo systemctl stop testops
Перезапуск сервисов services
Чтобы перезапустить ТестОпс, в терминале выполните команду:
sh
sudo systemctl restart testops
Обновление ТестОпс
Важно
Ознакомьтесь с release notes для версии ТестОпс, на которую вы переходите. В примечаниях к релизу может содержаться важная информация о том, как адаптировать ваши существующие файлы конфигурации или перенести данные в новую версию ТестОпс. Если вы пропускаете одну или несколько версий, прочитайте также примечания к релизам для пропущенных версий.
Откройте терминал.
Обновите параметр, указывающий версию пакета для установки.
Перед выполнением команды замените
5.7.0
на версию, до которой вы обновляетесь. После этого скопируйте и выполните эту команду целиком, а не ее строки по отдельности:shcat <<EOF | sudo tee /etc/apt/preferences.d/qatools Package: testops Pin: version 5.7.0 Pin-Priority: 1000 EOF
Обновите индекс доступных пакетов.
shsudo apt update
Переустановите пакет.
shsudo apt install -y testops
При необходимости измените файлы конфигурации согласно информации из release notes.
Перезапустите ТестОпс.
shsudo systemctl restart testops
Удаление ТестОпс
Чтобы удалить инстанс ТестОпс, выполните следующие действия:
Откройте терминал.
Удалите пакеты ТестОпс:
shsudo apt autoremove testops-*
Удалите файлы конфигурации:
shsudo rm -rf /opt/testops
Устранение неполадок
Если вы столкнулись с проблемой, не перезапускайте ТестОпс. Специалистам технической поддержки нужны лог-файлы каждого компонента, чтобы понять, что произошло.
Создайте образение в техподдержку, используя корпоративный адрес электронной почты. Для этого перейдите в хэлп-деск ТестОпс, нажмите Создать обращение и заполните форму:
- Подробно опишите проблему, с которой вы столкнулись.
- Укажите способ установки и версию ТестОпс, а также всех дополнительных компонентов, с которыми у вас возникли проблемы (allurectl, интеграционные плагины и т. д.).
- Приложите логи из вашей системы в качестве вложений к обращению (см. подробности ниже). Пожалуйста, добавляйте только логи, описанные ниже, и только в виде вложения.
bash
journalctl -f -n 100 -u testops
где:
- f - следить за журналом, т.е. все новые строки будут показаны на экране
- n 100 - количество записей в журнале для отображения
- u name - название единицы измерения
Получение логов
По умолчанию все компоненты пишут логи в stdout. Получить логи можно с помощью journalctl:
sh
journalctl --no-tail -u testops > testops.log