Run Jenkins jobs against Docker-in-Docker
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
# OTUS Homework 8: Jenkins Jobs
|
||||
|
||||
Проект поднимает Jenkins в Docker и автоматически создает 2 job:
|
||||
Проект поднимает Jenkins и отдельный Docker daemon (`docker:dind`) в Docker и автоматически создает 2 job:
|
||||
- `selenium-tests` для Selenium/Selenide тестов по Otus с выбором браузера;
|
||||
- `mobile-appium-tests` для Appium тестов мобильного приложения с Allure-отчетом.
|
||||
|
||||
## Что входит в проект
|
||||
- `Dockerfile`, `docker-compose.yml` — Jenkins с предустановленными инструментами.
|
||||
- `Dockerfile`, `docker-compose.yml` — Jenkins с предустановленными инструментами и отдельным Docker daemon для job.
|
||||
- `init.groovy.d/` — автосоздание пользователя `admin/admin`, job и Allure CLI.
|
||||
- `jobs/selenium-tests.xml` — job для `https://git.kovbasa.ru/otus-autotests/homework_4.git`.
|
||||
- `jobs/mobile-appium-tests.xml` — job для `https://git.kovbasa.ru/otus-autotests/homework_7.git`.
|
||||
@@ -28,6 +28,8 @@ docker compose up -d --build
|
||||
- `selenium-tests`
|
||||
- `mobile-appium-tests`
|
||||
|
||||
Jenkins job запускают Docker не через сокет хоста, а через отдельный сервис `docker`. Это нужно, чтобы mobile job корректно работала с файлами из Jenkins workspace.
|
||||
|
||||
## Запуск job
|
||||
|
||||
### selenium-tests
|
||||
|
||||
+14
-1
@@ -1,12 +1,25 @@
|
||||
services:
|
||||
docker:
|
||||
image: docker:27-dind
|
||||
privileged: true
|
||||
environment:
|
||||
- DOCKER_TLS_CERTDIR=
|
||||
command:
|
||||
- --host=tcp://0.0.0.0:2375
|
||||
- --tls=false
|
||||
volumes:
|
||||
- ./jenkins_home:/var/jenkins_home
|
||||
|
||||
jenkins:
|
||||
build: .
|
||||
depends_on:
|
||||
- docker
|
||||
ports:
|
||||
- "8081:8080"
|
||||
- "50000:50000"
|
||||
environment:
|
||||
- JAVA_OPTS=-Djenkins.install.runSetupWizard=false
|
||||
- DOCKER_HOST=tcp://docker:2375
|
||||
user: root
|
||||
volumes:
|
||||
- ./jenkins_home:/var/jenkins_home
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
Reference in New Issue
Block a user