«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС

Preview:

DESCRIPTION

В своем докладе я поделюсь опытом использования сервера непрерывной интеграции Jenkins, который мы подняли для справочного и картографического API и проекта Онлайн. Сделаю упор на следующих моментах: — Jenkins — быстрый старт, как за час сделать свой первый билд. — Возможности Jenkins: сборка проекта из репозитория, запуск тестов, создание отчётов. — Расширение функционала: Pipeline (упорядочение сборок), Violations (красивая статистика), E-mail-плагин, плагин от Чака Нориса и пр. — Опыт использования в веб-проектах 2ГИС.

Citation preview

CI. Jenkins. 2GISПавлов Игорь

2gis.ru @rnd2gis

Обо мне• В 2ГИС 1+ год

• Команда автоматизации тестрования

• Работал над инструменами тестирования для всех внешних web-

проектов

2

О чем будет• Быстрый старт

• Plugins — основная фишка Jenkins

• Опыт использования

3

Быстрый старт

Quick Win

FF

Fast Feedback

Fail Fast

5

Есть идея — есть Jenkins6

Просто как...sudo apt-get install jenkins

7

9

10

11

Разработчики коммитят

Пулим и билдим

Рассылаем почту

Jenkins может консольА консоль может все остальное

16

17

18

19

20

21

Работаем с нодами

Запускаем тесты

26

27

28

29

30

31

32

33

34

35

36

Plugins

Plugins : already installed• Maven plugin (was in core time ago)

• SSH plugin

• Git plugin

39

Build Pipeline

Violations

Email-ext

43

44

45

46

47

48

49

50

51

Опытиспользования

WebAPI

цель: постоянный мониторинг нод + регрессия

WebAPI : мониторинг• smoke тесты

• каждый час

• сборка на каждую боевую ноду

55

WebAPI : регрессия• много функциональных тестов

• сборка под каждый компонент приложения

• каждые сутки

• или по требованию

56

Online

цель: CI + регрессия + deploy

Online : CI + регрессия• сборка приложения на каждый коммит

• unit-тесты + gui-тесты + jshint*

• функциональные тесты под многими браузерами

• sonar

58

Online : deploy• сборка по требованию

• unit-тесты + gui-тесты

• упаковываем артефакт

59

Павлов Игорь

i.pavlov@2gis.ru

@nwlunatic

Recommended