Установка ТестОпс версии 4.x с помощью RPM-пакетов
В разделе описана установка ТестОпс версии 4.x. Чтобы установить ТестОпс версии 5.x, воспользуйтесь инструкцией.
Установка ТестОпс с помощью RPM-пакетов
Если вы переходите на ТестОпс с существующего инстанса Allure Testops, то воспользуйтесь этой инструкцией для изменения файлов конфигурации.
Учетные данные
Учетные данные (логин, пароль) предоставляются службой продаж при предоставлении ознакомительной или коммерческой лицензи.
Учентные данные могут быть использованы для установки как пакетами, так и с помощью docker compose или Kubernetes. Особенности каждого вида установки описаны в соответствующих разделах документации.
Типы пакетов
Мы предоставляем два типа пакетов:
- Пакет min
- Пакет box
Пакет min
Минимальный пакет содержит только исполняемые файлы ТестОпс
- Сервис uaa
- Сервис gateway
- Сервис report
Пакет Min - для вас, если у вас уже есть собственная инфраструктура со всеми необходимыми дополнительными сервисами, или вы планируете установить другие сервисы, необходимые для работы ТестОпс, отдельно:
- Amazon Corretto JDK 17 — обязательно
- Consul — обязательно
- RabbitMQ — обязательно
- S3 решение (например, min.io) — обязательно
- PostgreSQL версии не ниже 15 — обязательно
- Redis — обязательно
- nginx (при необходимости)
Пакет box
Пакет box вклю чает все дополнительные приложения/сервисы, необходимые для запуска и работы ТестОпс на отдельном сервере.
Все инструменты будут установлены, настроены и запущены с помощью пакета установки ТестОпс на одном сервере (виртуальной машине).
Установка ПО
Выполните последовательно команды для обновление менеджера пакетов yum и установленного ПО.
yum check-update
yum upgrade
Вспомогательные утилиты
Эти утилиты требуется обязательно установить до начала установки всего остального ПО.
yum install -y mlocate
Далее
yum install -y curl epel-release yum-utils
Amazon Corretto 17 JDK
ТестОпс — приложение, разработанное на языке программирования Java, для его запуска требуется установленная на сервере среда исполнения Java версии 17. Мы настоятельно рекомендуем использовать Amazon Corretto 17 JDK.
Следуйте инструкциям на сайте разработчика
Выжимка из инструкции разработчика:
rpm --import https://yum.corretto.aws/corretto.key
curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo
yum install -y java-17-amazon-corretto-devel
PostgreSQL 15
Для установки PostgreSQL 15 мы рекомендуем следовать официальной инструкции от Postgres, они будут всегда актуальны и проверены самим разработчиком СУБД.
- Выберите правильную версию ОС, на которой вы будете осуществлять установку.
- Выберите правильную архитектуру процессора.
- Скопируйте и выполниете последовательно команды, которые предлагает разработчик Postgres.
При использовании пакета min
вам потребуется вручную создать базы данных.
Создание баз данных
Требуется подключиться к БД с учетной записью владельца (postgres) и создать пользователей и базы данных.
UAA
Войдите в БД пользователем postgres
— psql
Выполните команды.
CREATE USER uaa WITH PASSWORD 'uaauaa';
CREATE DATABASE uaa TEMPLATE template0 ENCODING 'utf8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8';
\c uaa
GRANT ALL PRIVILEGES ON database uaa to uaa;
GRANT ALL PRIVILEGES ON SCHEMA public TO uaa;
\q
exit
report
Войдите в БД пользователем postgres
— psql
Выполните команды.
CREATE USER report WITH PASSWORD 'reportreport';
CREATE DATABASE report TEMPLATE template0 ENCODING 'utf8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8';
\c report
GRANT ALL PRIVILEGES ON database report to report;
GRANT ALL PRIVILEGES ON SCHEMA public TO report;
\q
exit
Параметры созданных баз данных и пользователей потребуются на следующих шагах настройки сервисов ТестОпс.
Consul
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
далее,
yum -y install consul
Consul требуется запускать как сервис и могут понадобиться минимальные настройки, для того, чтобы сервис запустился и мог принимать соединения.
Настройки производятся в файле consul.hcl
, который, как правило, находится по следующему пути: /etc/consul.d
, если такого пути не существует, то вам понадобится свериться с документацией разработчика на сайте consul.io
Содержимое файла consul.hcl
достаточное для запуска приложения Consul.
data_dir = "/opt/consul"
client_addr = "127.0.0.1"
server = true
bind_addr = "0.0.0.0"
advertise_addr = "127.0.0.1"
bootstrap_expect=1
Для запуска Consul как сервис понадобится настроить соотвествующий файл в systemd.
touch /etc/systemd/system/consul.service
В файл потребуется добавить следующие строки
[Unit]
Description=Consul
Documentation=https://www.consul.io/
Requires=network-online.target
After=network-online.target
[Service]
User=root
Group=root
ExecStart=/usr/bin/consul agent -config-dir=/etc/consul.d/
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
Затем потребуется перезапустить службу
systemctl daemon-reload
и запустить Consul как сервис
systemctl enable consul.service
systemctl start consul
RabbitMQ
Выполните последовательно команды, приведенные на сайте производителя ПО.
затем запустите сервер RabbitMQ.
chkconfig rabbitmq-server on
Добавление реестров qatools
Чтобы добавить реестр ТестОпс в свой менеджер пакетов, необходимо выполнить следующие действия:
- скопируйте все строки:
cat << EOF >> /etc/yum.repos.d/qatools.repo
[Qatools]
name=Qatools
baseurl=https://dl.qatools.ru/repository/rpm/
username=USERNAME
password=PASSWORD
enabled=1
gpgcheck=0
EOF
- Замените USERNAME и PASSWORD на учетные данн ые, полученные от отдела продаж
- Запустите терминал
- Если вы не root, наберите
sudo su
и введите пароль для получения привилегий администратора, при необходимости. - Вставьте скопированный текст в терминал и нажмите Enter.
- Проверьте, действительно ли нужный нам файл был обновлен.
cat /etc/yum.repos.d/qatools.repo
-
Выполните одну из следующих команд в терминале, в зависимости от выбранного пакета установки
- box (ТестОпс со всеми дополнительными сервисами)
yum install allure-testops-box-4.24.1-1
- min (только сервисы ТестОпс)
yum install allure-testops-min-4.24.1-1
- Для установки всегда явно используйте ID релиза ТестОпс.
Пути к файлам конфигурации
Конфигурационные файлы сервисов ТестОпс находятся в /opt/allure-testops
.
Отдельно каждый конфигурационный файл рассматривается ниже в этом руководстве.
Конфигурирование сервисов ТестОпс
Конфигурация осуществляется через набор переменных окружения, хранящихся в файле allure-<service>.conf
, специфичном для каждого из сервисов ТестОпс.
Начальная установка ТестОпс содержит набор переменных окружения, достаточный для успешного ввода ТестОпс в эксплуатацию.
Все дополнительные настройки, необходимые для интеграции, описаны в дальнейших разделах этой самой статьи.
Конфигурирование ТестОпс
Информация о пользователе admin
ТестОпс требует создания и сохранения в системе учетной записи admin (admin - это имя пользователя по умолчанию). Это имя (admin) и пароль определяются в конфигурационном файле (allure-uaa.conf
), пароль этого пользователя будет восстановлен до состояния, описанного в конфигурационном файле при перезапуске сервиса uaa, чтобы гарантировать, что вы не потеряете доступ к инстансу ТестОпс, это означает, что если вы отключите пользователя admin в пользовательском интерфейсе, удалите роли администратора и измените пароль, то при следующем запуске ТестОпс ПО снова создаст пользователя со всем набором доступных прав, с паролем, определенным в конфигурационном файле.
Вывод: этого пользователя нельзя отключить и удалить.
Пожалуйста, изменените пароль администратора в конфигурации перед развертыванием.
Если вы не задаёте начальный пароль администратора, то будет создан пользователь по умолчанию admin
и сильный пароль администратора будет сгенерирован системой, а затем сгенерированный пароль будет отправлен в журналы сервиса uaa.
Каждый раз при перезапуске ТестОпс учетная запись admin восстанавливается в исходное состояние в соответствии с конфигурационным файлом (allure-uaa.conf
).
Общие настройки
Обязательная настройка переменной ALLURE_ENDPOINT
.
Переменная содержит адрес, который используют конечные пользователи, работающие с UI. Такой же адрес используется для интеграций.
Если по какой-то причине эта переменная отсутствует в конфигурационном файле, добавьте ее. Для правильной работы интеграцией и отправки сообщений для регистрации новых пользователей, эта переменная также должна включать используемый порт, если он отличается от 80 или 443.
ALLURE_ENDPOINT=http://update.to.real.IP.or.FQDN:8080
Не рекомендуется использование локальных доменов без указания домена первого уровня, т.е. строка ALLURE_ENDPOINT=http://testops:8080
не подходит для использования и рекомендуется использовать, например, ALLURE_ENDPOINT=http://testops.intranet:8080
.
Переменная ALLURE_ENDPOINT прописывается в конфигурационных файлах всех сервисов и должна быть одинаковой в настройках всех сервисов.
Allure Gateway
Конфигурационный файл сервиса Gateway находится по адресу:
/opt/allure-testops/gateway/conf/allure-gateway.conf
Стандартное содержимое (после установки) выглядит следующим образом.
ALLURE_ENDPOINT=http://update-to-real-IP-or-FQDN:8080
ALLURE_JWT_SECRET=N7zaHAQYQ
SPRING_SESSION_STORE_TYPE=REDIS
SPRING_REDIS_HOST=localhost
SPRING_REDIS_PORT=6379
SPRING_REDIS_PASSWORD=""
SPRING_CLOUD_CONSUL_ENABLED=true
SPRING_CLOUD_CONSUL_HOST=localhost
SPRING_CLOUD_CONSUL_PORT=8500
Значение ALLURE_JWT_SECRET
требуется обновить и скопировать в тот же параметр сервисов report и uaa.
Сервис UAA
Конфигурационный файл сервиса UAA находится следующему пути:
/opt/allure-testops/uaa/conf/allure-uaa.conf
ALLURE_ENDPOINT=http://update-to-real-IP-or-FQDN:8080
ALLURE_SECURITY_USER_NAME=admin
ALLURE_SECURITY_USER_PASSWORD=admin # обязательно изменить
ALLURE_REGISTRATION_ENABLED=false # для производственной системы лучше выключить
ALLURE_REGISTRATION_AUTOAPPROVE=false # для производственной системы лучше выключить
ALLURE_REGISTRATION_DEFAULT_ROLE=ROLE_GUEST # для производственной системы лучше выставить так, чтобы лучше контролировать лицензии
# в примере используются настройки для gmail
# эта группа параметров является обязательной начиная с релиза 4.18.0
SPRING_MAIL_HOST=smtp.gmail.com
SPRING_MAIL_PORT=465
SPRING_MAIL_USERNAME=username
SPRING_MAIL_PASSWORD=password
ALLURE_MAIL_FROM=[email protected]
SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH=true
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE=true
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_REQUIRED=true
SPRING_MAIL_PROPERTIES_MAIL_SMTP_SSL_ENABLE=true
SPRING_MAIL_PROPERTIES_MAIL_SMTP_SSL_TRUST=smtp.gmail.com
JWT секрет
Параметр является обязательным, и его значение должно совпадать со значением того же параметра из сервиса gateway
.
ALLURE_JWT_SECRET=N7zaHAQYQ
Настройки Consul
Настройки Consul, используемые по умолчанию:
SPRING_CLOUD_CONSUL_HOST=localhost
SPRING_CLOUD_CONSUL_PORT=8500
Если в твоем окружении есть выделенный сервер Consul, вам нужно соответствующим образом обновить эти настройки.
Настройки PostgreSQL
Рекомендуемые по умолчанию настройки для подключения к базе данных
SPRING_DATASOURCE_URL="jdbc:postgresql://localhost:5432/uaa?assumeMinServerVersion=11&ApplicationName=uaa-service"
SPRING_DATASOURCE_USERNAME=uaa
SPRING_DATASOURCE_PASSWORD=uaauaa
Если у вас выделенный сервер баз данных (настоятельно рекомендуется для производственной системы), то вам нужно соответствующим образом обновить настройки.
Allure Report
Конфигурационный файл сервиса Report находится по адресу:
/opt/allure-testops/report/conf/allure-report.conf
JWT-секрет
Параметр является обязательным, и его значение должно совпадать со значением того же параметра из сервиса gateway
.
ALLURE_JWT_SECRET=N7zaHAQYQ
Настройки Consul
Настройки Consul, используемые по умолчанию:
SPRING_CLOUD_CONSUL_HOST=localhost
SPRING_CLOUD_CONSUL_PORT=8500
Если в твоем окружении есть выделенный сервер Consul, вам нужно соответствующим образом обновить эти настройки.
Настройки PostgreSQL
Рекомендуемые по умолчанию настройки для подключения к базе данных
SPRING_DATASOURCE_URL="jdbc:postgresql://localhost:5432/report?assumeMinServerVersion=11&ApplicationName=report-service"
SPRING_DATASOURCE_USERNAME=report
SPRING_DATASOURCE_PASSWORD=reportreport
Если у вас выделенный сервер баз данных (настоятельно рекомендуется для производственной системы), то вам нужно соответствующим образом обновить настройки.
Настройки RabbitMQ
SPRING_RABBITMQ_HOST=localhost
SPRING_RABBITMQ_PORT=5672
SPRING_RABBITMQ_USERNAME=guest
SPRING_RABBITMQ_PASSWORD=guest
Настройка хранилища (S3)
Тип хранилища, используемый установкой по умолчанию, - это хранилище S3 с сервисом min.io под капотом, этот тип настройки рекомендуется по сравнению с хранилищем файловой системы, так как он позволяет более стабильно обрабатывать файлы.
Настройки, приведенные ниже, используются установкой по умолчанию.
ALLURE_BLOBSTORAGE_TYPE=S3
ALLURE_BLOBSTORAGE_S3_PATHSTYLEACCESS=true
ALLURE_BLOBSTORAGE_S3_ENDPOINT="http://localhost:9000"
ALLURE_BLOBSTORAGE_S3_BUCKET=testops
ALLURE_BLOBSTORAGE_S3_REGION=your-region-0
ALLURE_BLOBSTORAGE_S3_ACCESSKEY=M8P2RAAa73KCBNmXKcp9csX5u5SXUg7L
ALLURE_BLOBSTORAGE_S3_SECRETKEY=YPZNUd5eULXGTZN9c9dNj8M4vffCpYPE
Для производственной системы рекомендуется использовать Amazon AWS или локальное решение S3 (например, minio) с хранилищем на SSD-дисках.
Управление состоянием выполнения ТестОпс
После установки ТестОпс он будет поднят автоматически и включен как сервис.
Для упра вления состоянием приложений вам нужно использовать следующие команды:
Запуск сервисов ТестОпс
systemctl start allure-uaa
systemctl start allure-report
systemctl start allure-gateway