Используемые термины: Reportportal , Docker , Linux .
Рассмотрим процесс развертывания портала для выполнения тестов в соответствии с методологией TestOps. Запуск приложения Reportportal будет выполняться в среде Docker. Предполагается, что используется операционная система на базе Linux, но с небольшими изменениями можно выполнить установку на Windows.
В нашей системе мы должны установить:
В зависимости от типа Linux, действия будут отличаться. Подробнее, процесс установки необходимого программного обеспечения для различных систем описан в инструкции Установка Docker на Linux .
В гитхабе разработчика представлен готовый docker-compose файл . Его мы можем использовать для развертывания сервиса. Рассмотрим процесс подробнее.
Создаем каталог, в котором разместим файлы приложения:
mkdir /opt/reportportal
Перейдем в него:
cd /opt/reportportal
Скачаем docker-compose файл от разработчика:
curl -s https://raw.githubusercontent.com/reportportal/reportportal/refs/heads/master/docker-compose.yml -o ./docker-compose.yml
Создаем файл с переменными:
vi .env
POSTGRES_USER=rpuser
POSTGRES_PASSWORD=rppass
POSTGRES_DB=reportportal
RABBITMQ_DEFAULT_USER=rabbitmq
RABBITMQ_DEFAULT_PASS=rabbitmq
RP_INITIAL_ADMIN_PASSWORD=erebus
* где:
Запускаем контейнеры:
docker-compose up -d
Посмотреть их состояние можно командой:
docker-compose ps
Состояние healthcheck у многих контейнеров должно быть starting :
… (health: starting)
Мы должны дождаться полного окончания запуска. Состояние healthcheck должно стать:
(healthy)
После открываем браузер и переходим по адресу http://<IP-адрес сервера>:8080/ — должна открыться стартовая страница Reportportal.
Вводим данные для входа — superadmin / erebus (пароль мы задавали в файле .env).
Выше было описано, как запустить приложение через http. Внесем некоторые изменения в конфигурацию, чтобы портал работал по https.
Переходим в каталог:
cd /opt/reportportal
Создаем папки:
mkdir -p ./traefik/certs ./traefik/conf
* каталог certs для хранения сертификатов; conf — дополнительных файлов конфигурации.
Создаем конфигурационный файл:
vi ./traefik/conf/certs-traefik.yaml
tls:
stores:
default:
defaultCertificate:
certFile: /etc/certs/cert.crt
keyFile: /etc/certs/cert.key
certificates:
— stores: default
* в данном примере мы указали конфигурацию для TLS.
В каталог traefik/certs копируем файлы сертификатов с именами:
Сам сертификат можно купить или получить бесплатно от сертификационного центра Let’s Encrypt .
Отредактируем файл docker-compose:
vi docker-compose.yml
Для сервиса gateway меняем внешний порт на 80 и добавляем порт 443, добавляем файлы сертификатов, которые будут проброшены в контейнер и добавляем опции к команде (изменения указаны желтым):
gateway:
…
ports:
…
— 80 :8080
— 443:443
volumes:
…
— ./traefik/conf/certs-traefik.yaml:/etc/traefik/dynamic/certs-traefik.yaml
— ./traefik/certs:/etc/certs/
command:
…
— —providers.file.directory=/etc/traefik/dynamic
— —entrypoints.websecure.address=:443
— —providers.file.watch=true
* данными настройками мы указали, что контейнер помимо порта http должен слушать на порту https; мы добавили динамический файл конфигурации (в котором указали пути до сертификатов); также мы указали приложению запускаться с дополнительными опциями, благодаря которым будет читаться динамический конфигурационный файл и приложение будет также стартовать с прослушиванием порта https (443).
Для остальных сервисов обязательно, добавляем опцию в разделе labels :
index:
…
labels:
…
— «traefik.http.routers.index.tls=true»
ui:
…
labels:
…
— «traefik.http.routers.ui.tls=true»
api:
…
labels:
…
— «traefik.http.routers.api.tls=true»
uat:
…
labels:
…
— «traefik.http.routers.uat.tls=true»
* данный лейбл говорит сервису, что используется безопасное соединение TLS.
Перезапускаем контейнеры командой:
docker-compose up -d
Смотрим на их состояние:
docker-compose ps
Сначала мы должны увидеть health: starting :
… (health: starting)
Спустя некоторое время данный статус должен поменять на healthy:
(healthy)
Снова открываем браузер и переходим уже по адресу https://<IP-адрес сервера>/ — должна открыться уже известная нам страница Reportportal.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…