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