Запуск Selenium-тестов через Jenkins в приложении Docker Django

Я хотел бы запускать интеграционные тесты Selenium на сервере разработки. Наше приложение - Django app, и оно развертывается через Jenkins и Docker.

  • Мы умеем писать и запускать Selenium тесты локально
  • Мы умеем запускать тесты с помощью Jenkins и представлять отчеты Cobertura и Junit
  • .

Проблема у нас следующая:

  • Для проведения Selenium тестов (кроме юнит-тестов) необходимо, чтобы сервер работал
  • .
  • Так что мы не можем запустить тесты до сборки образа докера
  • Как запустить тесты внутри образа докера (потенциально это может быть достигнуто с помощью скрипта, вызываемого внутри Dockerfile...)
  • НО еще важнее: Как Дженкинс может получать отчеты из внутренних докер-контейнеров
  • .

Какова здесь лучшая практика.

Структура развертывания:

  • Jenkins получает код из GIT
  • Jenkins собирает образы докеров
  • передайте этот образ в реестр Docker (частный)
  • войти на удаленный сервер
  • на удаленном сервере извлечь образ из реестра
  • запустить образ на удаленном сервере
Вернуться на верх