OTUS Homework 8: Jenkins Jobs

Проект поднимает Jenkins и отдельный Docker daemon (docker:dind) в Docker и автоматически создает 2 job:

  • selenium-tests для Selenium/Selenide тестов по Otus с выбором браузера;
  • mobile-appium-tests для Appium тестов мобильного приложения с Allure-отчетом.

Что входит в проект

  • 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.

Требования

  • Docker и Docker Compose.
  • Доступ Jenkins-контейнера в интернет для клонирования репозиториев и загрузки Maven dependencies.
  • Для Appium job:
    • доступ к БД jdbc:postgresql://sql.otus.kartushin.su:5432/wishlist;
    • хост, на котором Docker может поднять budtmo/docker-android.

Запуск

  1. Поднять Jenkins:
docker compose up -d --build
  1. Открыть http://localhost:8081.
  2. Войти под admin / admin.
  3. Убедиться, что автоматически созданы job:
    • selenium-tests
    • mobile-appium-tests

Jenkins job запускают Docker не через сокет хоста, а через отдельный сервис docker. Это нужно, чтобы mobile job корректно работала с файлами из Jenkins workspace.

Запуск job

selenium-tests

Запускать через Build with Parameters. Рабочие значения по умолчанию:

  • REPO_URL=https://git.kovbasa.ru/otus-autotests/homework_4.git
  • BRANCH=master
  • BROWSER=chrome
  • EXECUTION_MODE=local
  • HEADLESS=true

mobile-appium-tests

Запускать через Build with Parameters. Рабочие значения по умолчанию:

  • REPO_URL=https://git.kovbasa.ru/otus-autotests/homework_7.git
  • BRANCH=master
  • DB_URL=jdbc:postgresql://sql.otus.kartushin.su:5432/wishlist
  • DB_USER=student
  • APPIUM_URL=http://docker:4723

Обязательно заполнить:

  • DB_PASSWORD

Опционально:

  • APP_URL — если задан, APK будет скачан автоматически; если пусто, используется APK из репозитория homework_7.

Результат

  • Allure-отчет публикуется в каждой job после завершения билда.
  • XML job лежат в каталоге jobs/ и могут быть выданы как результат домашнего задания.
S
Description
No description provided
Readme 81 KiB
Languages
Groovy 80.8%
Dockerfile 11.4%
Shell 7.8%