Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using Jenkins Pipeline for Building Complex Projects

Using Jenkins Pipeline for Building Complex Projects

Using Jenkins Pipeline for Building Complex Projects
Nikita Smirnov, Development Team Manager (Sailfish), Exactpro
Dev Meetup: Kostroma
23/07/2019

Youtube Channel https://www.youtube.com/c/exactprosystems
Linkedin https://www.linkedin.com/company/exactpro-systems-llc
Instagram https://www.instagram.com/qakostroma/
Twitter https://twitter.com/exactpro

5206c19df417b8876825b5561344c1a0?s=128

Exactpro
PRO

July 23, 2019
Tweet

Transcript

  1. Build Software to Test Software exactpro.com Использование Jenkins Pipeline при

    сборке сложных проектов Date: 23/07/2019 Author: Никита Смирнов
  2. 2 Build Software to Test Software exactpro.com Что такое Jenkins

    Инструмент для обеспечения процесса непрерывной интеграции (CI) программного обеспечения. Основные функции • Настройка события при котором запускается задача • Возможность работы с многими системами контроля версий • Работа с разными системами сборки проектов • Большое число плагинов для расширения возможностей
  3. 3 Build Software to Test Software exactpro.com Форматы описания задач

    в Jenkins 1. Блочный формат 2. Описание задачи в виде скрипта (pipeline) • Скриптовый • Декларативный
  4. 4 Build Software to Test Software exactpro.com Сквозная схема сборки

    с использованием Apache Ant
  5. 5 Build Software to Test Software exactpro.com Сквозная сборка Текущие

    проблемы: • Время сборки • Управление зависимостями
  6. 6 Build Software to Test Software exactpro.com Схема сборки с

    использованием Gradle
  7. 7 Build Software to Test Software exactpro.com Сборка в Jenkins

    Текущие проблемы: • Время сборки • Связность кода
  8. 8 Build Software to Test Software exactpro.com Схема сборки приложения

    и плагинов с использованием Gradle
  9. 9 Build Software to Test Software exactpro.com Сборка приложения и

    плагинов в Jenkins Текущие проблемы: • Управление большим количеством задач
  10. 10 Build Software to Test Software exactpro.com Настройки времени запуска

    задачи Запуск задачи при изменении в системы контроля версий. Проверка проходит по будням раз в 10 мин Запуск задачи по определенному графику
  11. 11 Build Software to Test Software exactpro.com Настройка получения исходного

    кода из системы контроля версий (CVS) Ключ для доступа к CVS Адрес удаленного CVS Ветка в CVS Описание шага в Jenkins pipeline git credentialsId: 'f7e7f336-1088-4dff-8eb2-ae5452e16627', url: 'ssh://jenkins.ci@gerrit.exp.exactpro.com:5214/Open-Source-Sailfish-Core'
  12. 12 Build Software to Test Software exactpro.com Сборка и тестирование

    проекта на Gradle Описание шага в Jenkins pipeline sh './gradlew clean test :FrontEnd:SailfishFrontEnd:war'
  13. 13 Build Software to Test Software exactpro.com Формирование отчета по

    проведенным тестам Описание шага в Jenkins pipeline junit '**/build/test-results/test/TEST-*.xml'
  14. 14 Build Software to Test Software exactpro.com Представление задачи общего

    типа
  15. 15 Build Software to Test Software exactpro.com Представление задачи мульти-конфигурационного

    типа
  16. 16 Build Software to Test Software exactpro.com Представление задачи мульти-конфигурационного

    типа
  17. 17 Build Software to Test Software exactpro.com Представление задачи в

    pipeline стиле
  18. 18 Build Software to Test Software exactpro.com Код Jenkins pipeline

    скрипта
  19. 19 Build Software to Test Software exactpro.com Код Jenkins pipeline

    скрипта
  20. 20 Build Software to Test Software exactpro.com Преобразование блочного стиля

    в pipeline
  21. 21 Build Software to Test Software exactpro.com Представления pipeline задачи

    в Blue Ocean
  22. 22 Build Software to Test Software exactpro.com Представления pipeline задачи

    в Blue Ocean
  23. 23 Build Software to Test Software exactpro.com Представления pipeline задачи

    в Blue Ocean
  24. 24 Build Software to Test Software exactpro.com Представления pipeline задачи

    в Blue Ocean
  25. 25 Build Software to Test Software exactpro.com Спасибо!

  26. 26 Build Software to Test Software exactpro.com Общие настройки задачи

    Задать дистрибутив JDK, который будет использован при сборке Задать машину, на которой будет проводится сборка
  27. 27 Build Software to Test Software exactpro.com Про что будет

    презентация (Что?) • Разрабатываем программное обеспечение для клиентов ◦ Разработка ◦ Фиксация изменений в системе контроля версий ◦ Чистая сборка ◦ Модульное тестирование ◦ Интеграционное тестирование ?? ◦ Выпуск тестовой сборки ◦ Комплексное тестирования QA ?? ◦ Выпуск релиза
  28. 28 Build Software to Test Software exactpro.com Какие проблемы пытается

    решить (Зачем?) Объединить с предыдущим • Непрерывная интеграция (CI) ◦ Оперативное выявление ошибок • Анализ кода ◦ Повышения качества исходного кода •
  29. 29 Build Software to Test Software exactpro.com Каким образом мы

    можем это сделать (Как?) Нужны элемнов JOB в блочном виде в трубопровод в Jenkins • Настройка расписания запуска • Получение данных из системы контроля версий () • Сборка/тестирование проекта • Формирование отчета по проведенным тестам • Анализ кода • Сборка с разными комбинациями параметров • Управление сборочным процессом