Запуск Selenium-тестов через Jenkins в приложении Docker Django
Я хотел бы запускать интеграционные тесты Selenium на сервере разработки. Наше приложение - Django app, и оно развертывается через Jenkins и Docker.
- Мы умеем писать и запускать Selenium тесты локально
- Мы умеем запускать тесты с помощью Jenkins и представлять отчеты Cobertura и Junit .
Проблема у нас следующая:
- Для проведения Selenium тестов (кроме юнит-тестов) необходимо, чтобы сервер работал .
- Так что мы не можем запустить тесты до сборки образа докера
- Как запустить тесты внутри образа докера (потенциально это может быть достигнуто с помощью скрипта, вызываемого внутри Dockerfile...)
- НО еще важнее: Как Дженкинс может получать отчеты из внутренних докер-контейнеров .
Какова здесь лучшая практика.
Структура развертывания:
- Jenkins получает код из GIT
- Jenkins собирает образы докеров
- передайте этот образ в реестр Docker (частный)
- войти на удаленный сервер
- на удаленном сервере извлечь образ из реестра
- запустить образ на удаленном сервере