S3-совместимое хранилище
ТестОпс хранит артефакты из результатов тестов и тест-кейсов в отдельном объектном хранилище (см. Архитектура).
Требования и рекомендации к S3-совместимому хранилищу
Производственная среда
Не размещайте хранилище артефактов на одном диске с базой данных ТестОпс. Разделение позволит избежать конкуренции за ресурсы ввода-вывода и гарантирует стабильную работу как хранилища, так и базы данных.
Если вы используете Kubernetes, подключайте хранилище с помощью CSI-драйвера.
Аппаратное обеспечение
Для хранения артефактов в S3-совместимом хранилище используйте только SSD, предпочтительно корпоративного класса. HDD ухудшат производительность ТестОпс по мере увеличения количества хранимых артефактов.
Класс хранения
Используйте стандартный класс хранения, рассчитанный на частый доступ к данным. Классы для «холодного» хранения могут значительно замедлить работу с артефактами и повлиять на производительность всей системы.
Решения для S3-совместимых хранилищ
ТестОпс работает с любым S3-совместимым хранилищем. Выберите решение, которое подходит вашей инфраструктуре. Например:
- облачное хранилище — Yandex Object Storage;
- локальное хранилище — Ceph.
Yandex Object Storage
Чтобы использовать Yandex Object Storage с ТестОпс:
- Создайте бакет.
- Создайте статический ключ доступа для сервисного аккаунта с правами на бакет.
- В конфигурации ТестОпс укажите URL-адрес сервера
https://storage.yandexcloud.net, имя бакета, регион и ключи доступа.
Ceph
Чтобы использовать Ceph как S3-совместимое хранилище, разверните RADOS Gateway (RGW) и укажите в конфигурации ТестОпс URL-адрес сервера, имя бакета, регион и ключи доступа.
Миграция данных в MinIO при развертывании с помощью Docker Compose
Если вы используете версию ТестОпс для демонстрационного развертывания (testops-demo) и планируете переход на производственную среду, следуйте инструкции ниже, чтобы перенести артефакты ТестОпс в отдельное хранилище MinIO. Эта инструкция также может быть полезна, если вы работаете с развертыванием Docker Compose в течение долгого времени и артефакты ТестОпс хранятся в файловой системе Docker-томов.
Важно
Прямое копирование файлов может привести к неправильным правам доступа и неточным метаданным MinIO. Мы настоятельно рекомендуем использовать приложение MinIO CLI для массовой миграции файлов.
Убедитесь, что целевой сервис хранения запущен и доступен с вашего компьютера.
В вашем файле .env добавьте параметры подключения к целевому сервису хранения:
TESTOPS_S3_URL_NEW— URL-адрес сервера;TESTOPS_S3_BUCKET_NEW— имя S3-бакета;TESTOPS_S3_ACCESS_KEY_NEW— ключ доступа для подключения к S3-бакету;TESTOPS_S3_SECRET_KEY_NEW— секрет для подключения к S3-бакету.
В вашем файле docker-compose.yml добавьте конфигурацию сервиса
minio-migrate:yamlservices: minio-migrate: restart: "no" image: minio/mc container_name: minio-migrate depends_on: - minio-local networks: - testops-net entrypoint: "/bin/sh -c" command: > mc config host add minio-old ${DEMO_INSTANCE_S3_URL} ${DEMO_INSTANCE_S3_ACCESS_KEY} ${DEMO_INSTANCE_S3_SECRET_KEY} --api S3v4 && mc config host add s3-new ${TESTOPS_S3_URL_NEW} ${TESTOPS_S3_ACCESS_KEY_NEW} ${TESTOPS_S3_SECRET_KEY_NEW} --api S3v4 && mc cp -r minio-old/${DEMO_INSTANCE_S3_BUCKET}/v2 s3-new/${TESTOPS_S3_BUCKET_NEW}/ # ...Перейдите в директорию, где расположены файлы docker-compose.yml и .env, и выполните команду:
shdocker compose run minio-migrate

