Перейти к основному содержимому

Рекомендации для S3-хранилища

ТестОпс хранит артефакты из результатов тестов и тест-кейсов в отдельном объектном хранилище (см. Архитектура).

Наиболее надежный и производительный вариант объектного хранилища, который рекомендуется использовать для крупных развертываний ТестОпс с высокой нагрузкой, — Amazon S3. Объектное хранилище также может быть реализовано с помощью MinIO, Google Cloud Storage или любого другого решения, совместимого с S3.

Миграция данных из деморазвертывания Docker Compose в автономное хранилище MinIO

Если вы используете развертывание testops-demo и планируете переход на производственную среду, следуйте инструкции ниже, чтобы перенести артефакты ТестОпс в отдельное хранилище MinIO. Эта инструкция также может быть полезна, если вы работаете с развертыванием Docker Compose в течение долгого времени и артефакты ТестОпс хранятся в Docker-томах как в хранилище файловой системы.

Важно

Прямое копирование файлов может привести к неправильным правам доступа и неточным метаданным MinIO. Мы настоятельно рекомендуем использовать приложение MinIO CLI для массовой миграции файлов.

  1. Убедитесь, что целевой сервис хранения запущен и доступен с вашего компьютера.

  2. В вашем файле .env добавьте параметры подключения к целевому сервису хранения:

    • TESTOPS_S3_URL_NEW — URL-адрес сервера;
    • TESTOPS_S3_BUCKET_NEW — имя S3-бакета;
    • TESTOPS_S3_ACCESS_KEY_NEW — ключ доступа для подключения к S3-бакету;
    • TESTOPS_S3_SECRET_KEY_NEW — секретный ключ для подключения к S3-бакету.
  3. В вашем файле docker-compose.yml добавьте конфигурацию сервиса minio-migrate:

    services:
    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}/"

    # ...
  4. Перейдите в директорию, где расположены файлы docker-compose.yml и .env, и выполните команду:

    docker compose run minio-migrate