Suche senden
Hochladen
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
•
Als PPTX, PDF herunterladen
•
3 gefällt mir
•
6,596 views
SQALab
Folgen
Доклад Олега Ненашева на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург
Weniger lesen
Mehr lesen
Bildung
Melden
Teilen
Melden
Teilen
1 von 59
Jetzt herunterladen
Empfohlen
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в Badoo
SQALab
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Badoo Development
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
CEE-SEC(R)
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
WrikeTechClub
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью Selenium
SQALab
Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?
Badoo Development
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
Badoo Development
Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
WrikeTechClub
Empfohlen
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в Badoo
SQALab
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Badoo Development
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
CEE-SEC(R)
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
WrikeTechClub
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью Selenium
SQALab
Технологии vs коммуникации: что важнее?
Технологии vs коммуникации: что важнее?
Badoo Development
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
Badoo Development
Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
WrikeTechClub
Мобильный веб: назад в будущее
Мобильный веб: назад в будущее
Badoo Development
WP как экспериментальная платформа
WP как экспериментальная платформа
SQALab
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
SQALab
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Oleg Nenashev
Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ru
Badoo Development
Сетевые снифферы в тестировании
Сетевые снифферы в тестировании
SQALab
Let's Talk About Junit 5
Let's Talk About Junit 5
SQALab
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
SQALab
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
SQALab
QA Fest 2016. Дмитрий Химион. Векторы развития систем автоматизации тестиров...
QA Fest 2016. Дмитрий Химион. Векторы развития систем автоматизации тестиров...
QAFest
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
SQALab
Экономически эффективный процесс тестирования
Экономически эффективный процесс тестирования
CodeFest
CI для тестировщиков или как отказаться от релизов
CI для тестировщиков или как отказаться от релизов
SQALab
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
SQALab
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
CEE-SEC(R)
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
WrikeTechClub
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
SQALab
WPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testing
SQALab
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
SQALab
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
SQALab
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
SQALab
Weitere ähnliche Inhalte
Was ist angesagt?
Мобильный веб: назад в будущее
Мобильный веб: назад в будущее
Badoo Development
WP как экспериментальная платформа
WP как экспериментальная платформа
SQALab
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
SQALab
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Oleg Nenashev
Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ru
Badoo Development
Сетевые снифферы в тестировании
Сетевые снифферы в тестировании
SQALab
Let's Talk About Junit 5
Let's Talk About Junit 5
SQALab
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
SQALab
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
SQALab
QA Fest 2016. Дмитрий Химион. Векторы развития систем автоматизации тестиров...
QA Fest 2016. Дмитрий Химион. Векторы развития систем автоматизации тестиров...
QAFest
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
SQALab
Экономически эффективный процесс тестирования
Экономически эффективный процесс тестирования
CodeFest
CI для тестировщиков или как отказаться от релизов
CI для тестировщиков или как отказаться от релизов
SQALab
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
SQALab
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
CEE-SEC(R)
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
WrikeTechClub
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
SQALab
WPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testing
SQALab
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
SQALab
Was ist angesagt?
(20)
Мобильный веб: назад в будущее
Мобильный веб: назад в будущее
WP как экспериментальная платформа
WP как экспериментальная платформа
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ru
Сетевые снифферы в тестировании
Сетевые снифферы в тестировании
Let's Talk About Junit 5
Let's Talk About Junit 5
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
QA Fest 2016. Дмитрий Химион. Векторы развития систем автоматизации тестиров...
QA Fest 2016. Дмитрий Химион. Векторы развития систем автоматизации тестиров...
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
Экономически эффективный процесс тестирования
Экономически эффективный процесс тестирования
CI для тестировщиков или как отказаться от релизов
CI для тестировщиков или как отказаться от релизов
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Эволюция нагрузочного тестирования – от простой автоматизации до BDD
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
WPF Automation – test injection approach to application testing
WPF Automation – test injection approach to application testing
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
Andere mochten auch
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
SQALab
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
SQALab
Полуавтоматизация third-party API
Полуавтоматизация third-party API
SQALab
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
SQALab
Тестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покер
SQALab
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
SQALab
DevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестирования
SQALab
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать жить
Daria Oreshkina
Using MongoDB With Groovy
Using MongoDB With Groovy
James Williams
Проникновение в Docker с примерами
Проникновение в Docker с примерами
Дмитрий Столяров
Cross browser testing with browser stack
Cross browser testing with browser stack
Denys Poloka
Acceptance Testing of Web UI
Acceptance Testing of Web UI
Vladimir Tsukur
Как подготовить себе преемника?
Как подготовить себе преемника?
SQALab
UAT не для слабаков
UAT не для слабаков
SQALab
Автотесты на уровне API для Java-приложений
Автотесты на уровне API для Java-приложений
SQALab
Введение в performance management
Введение в performance management
SQALab
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
CEE-SEC(R)
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Google
yaevents
Cloud api
Cloud api
Nikita Makarov
Continuous delivery в крупном интернет проекте
Continuous delivery в крупном интернет проекте
SQALab
Andere mochten auch
(20)
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
Игры с огнём: знакомимся с BDD и Cucumber фреймворком BDDfire
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
Полуавтоматизация third-party API
Полуавтоматизация third-party API
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
Тестирование в изоляции: Играем в драконий покер
Тестирование в изоляции: Играем в драконий покер
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
DevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестирования
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать жить
Using MongoDB With Groovy
Using MongoDB With Groovy
Проникновение в Docker с примерами
Проникновение в Docker с примерами
Cross browser testing with browser stack
Cross browser testing with browser stack
Acceptance Testing of Web UI
Acceptance Testing of Web UI
Как подготовить себе преемника?
Как подготовить себе преемника?
UAT не для слабаков
UAT не для слабаков
Автотесты на уровне API для Java-приложений
Автотесты на уровне API для Java-приложений
Введение в performance management
Введение в performance management
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Google
Cloud api
Cloud api
Continuous delivery в крупном интернет проекте
Continuous delivery в крупном интернет проекте
Ähnlich wie Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
Oleg Nenashev
Net core and linux in production
Net core and linux in production
Anatoly Popov
Jiramania презентации @augspb
Jiramania презентации @augspb
Gonchik Tsymzhitov
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
Andrey Rebrov
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
Yehor Herasymchuk
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
Provectus
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
Alexey Bokov
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Alina Vilk
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
InterSystems CEE
Caché github continuous intergration
Caché github continuous intergration
InterSystems
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
Olesya_V
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и Kubernetes
Denis Izmaylov
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
Andrey Kazarinov
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015
Ivan Evtukhovich
Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)
Кафедра высокопроизводительных компьютерных технологий ИМКН УрФУ
Павел Брылов, Skype
Павел Брылов, Skype
Ontico
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System Administrator
JetBrains Russia
DevOps
DevOps
Liubov Belousova
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab
Ähnlich wie Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
(20)
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
Net core and linux in production
Net core and linux in production
Jiramania презентации @augspb
Jiramania презентации @augspb
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
Caché github continuous intergration
Caché github continuous intergration
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и Kubernetes
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015
Cистемы автоматической сборки проектов (Полина Фоминых)
Cистемы автоматической сборки проектов (Полина Фоминых)
Павел Брылов, Skype
Павел Брылов, Skype
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps в проекте Upsource. Андрей Сизов, System Administrator
DevOps
DevOps
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Mehr von SQALab
Готовим стажировку
Готовим стажировку
SQALab
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
SQALab
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
SQALab
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
SQALab
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
SQALab
Continuous performance testing
Continuous performance testing
SQALab
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
SQALab
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
SQALab
Стили лидерства и тестирование
Стили лидерства и тестирование
SQALab
"Давайте не будем про качество"
"Давайте не будем про качество"
SQALab
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
SQALab
Тестирование геолокационных систем
Тестирование геолокационных систем
SQALab
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
SQALab
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
SQALab
Истинная сила тестировщика - информация
Истинная сила тестировщика - информация
SQALab
Mehr von SQALab
(20)
Готовим стажировку
Готовим стажировку
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Continuous performance testing
Continuous performance testing
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Стили лидерства и тестирование
Стили лидерства и тестирование
"Давайте не будем про качество"
"Давайте не будем про качество"
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
Тестирование геолокационных систем
Тестирование геолокационных систем
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Истинная сила тестировщика - информация
Истинная сила тестировщика - информация
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
1.
©2016CloudBees,Inc.AllRightsReserved©2015CloudBees,Inc.AllRightsReserved Jenkins 2.0: Организуем тестирование
в составе Continuous Delivery Олег Ненашев, CloudBees, Inc.
2.
©2016CloudBees,Inc.AllRightsReserved • ~10 лет
в R&D и автоматизации • Фокус: электроника и встраиваемое ПО – Intel, Sitronics, Synopsys • Развертывание и поддержка больших систем автоматизации • Автоматизация тестирования и QA 2 О себе. Бэкграунд @oleg_nenashev oleg-nenashev onenashev
3.
©2016CloudBees,Inc.AllRightsReserved О себе. Jenkins 3 @oleg_nenashev oleg-nenashev onenashev •
Проект Jenkins, Core team – Развитие ядра – Поддержка плагинов – Организатор митапов – Контакт для прессы в СНГ • Jenkins Developer в CloudBees – CloudBees – контрибьютор Jenkins – Помогаем строить enterprise-системы на базе Jenkins – CloudBees Jenkins Platform – Поддержка 24/7
4.
©2016CloudBees,Inc.AllRightsReserved Кто такой Jenkins? 4 •
Сервер автоматизации • Continuous Integration • Continuous Delivery • DevOps • … • Веб-интерфейс • Распределенная система • Open-source (MIT) https://jenkins.io Сборка Тестиро- вание Создание пакетов Установка, развер- тывание Построе- ние отчетов, аналитика и другое
5.
©2016CloudBees,Inc.AllRightsReserved Кто такой Jenkins •
2005: Появился как Hudson • 2008: Duke's Choice Award • 2011: Переименование в Jenkins • 2012: Самый популярный сервер непрерывной интеграции • 2015: >100к активных инсталляций • 2015: 1200 плагинов 5
6.
©2016CloudBees,Inc.AllRightsReserved Jenkins 2.0 Выпущен 20
апреля 2016 https://jenkins-ci.org/2.0/ 6
7.
©2016CloudBees,Inc.AllRightsReserved Jenkins 2.0. А
зачем? • Смена фокуса с CI в разработке софта – Continuous Delivery/Deployment – DevOps – Everything as Code • Проблемы User Experience в Jenkins – Сложность настройки системы и задач – Неполная документация – Интеграционные проблемы 7
8.
©2016CloudBees,Inc.AllRightsReserved •Новый вебсайт •Изменение базового
набора плагинов •Security-опции включены по- умолчанию •Улучшения UX: – Новый мастер установки – Улучшение страниц конфигурации задач – Категоризация задач •Pipeline as Code 8 Jenkins 2.0. Что внутри? http://bit.ly/jenkins20
9.
©2016CloudBees,Inc.AllRightsReserved Предыдущие доклады о
Jenkins 2.0 •Митапы по Jenkins в Санкт- Петербурге – Инсайды по статусу разработки Jenkins 2.0 – О Jenkins в целом •QA: Conference – Jenkins 2.0 Что внутри? 9 St. Petersburg Jenkins Meetup @jenkins_spb
10.
©2016CloudBees,Inc.AllRightsReserved Сегодня… Continuous Delivery 10 Disclaimer: • Презентация не
является тренингом • Презентация отражает личное мнение докладчика • Личное мнение докладчика может не совпадать с позицией компании или сообщества Jenkins • Ссылки на картинки – в бэкапе
11.
©2016CloudBees,Inc.AllRightsReserved Было. Непрерывная Интеграция 11 http://www.osp.ru/os/2008/06/5344965/
12.
©2016CloudBees,Inc.AllRightsReserved Было. Непрерывная Интеграция 12 Релиз Релиз- кандидатОсновная
ветка Изменение 1 Изменение 2 Изменение 3 QA мало QA мало QA мало QA
13.
©2016CloudBees,Inc.AllRightsReserved 13
14.
©2016CloudBees,Inc.AllRightsReserved • Они начинают
раньше «работать» • Финансовый эффект достигается раньше Зачем доставлять изменения раньше? 14
15.
©2016CloudBees,Inc.AllRightsReserved Как не надо
делать 15 РелизОсновная ветка Изменение 1 Изменение 2 Изменение 3 мало QA мало QA мало QA “Тяп-ляп и в продакшн” Исправляем…Исправляем…
16.
©2016CloudBees,Inc.AllRightsReserved Continuous Delivery 16 РелизОсновная ветка Изменение
1 Изменение 2 Изменение 3 больше QA больше QA Больше QA Быстрый откат
17.
©2016CloudBees,Inc.AllRightsReserved CD для инфраструктуры… •
Инфраструктура: – критична для проектов – меняется вместе с кодом – должна тестироваться • Infrastructure As Code • DevOps 17
18.
©2016CloudBees,Inc.AllRightsReserved •Короткие циклы разработки •Всегда
дедлайн •Нет времени на юнит-тесты •Разбиение систем на модули CD для разработчиков… 18
19.
©2016CloudBees,Inc.AllRightsReserved CD для контроля
качества… •Короткие циклы верификации •Автоматизация всего: – Тестирование (все типы) – Статический анализ кода – Контроль совместимости модулей (N-1) – … •Надежность контроля – False negative опасны 19
20.
©2016CloudBees,Inc.AllRightsReserved Что нам нужно
для CD? •Параллелизация (что можно) •Версионирование кода и процедур сборки •Воспроизводимость тестов и сборок – Чистое окружение для каждого прогона – Тесты сами подготавливают окружение •Тестирование на реальном релизе – Staging-репозитории релизов 20
21.
©2016CloudBees,Inc.AllRightsReserved Что нужно? Системы автоматизации! 21
22.
©2016CloudBees,Inc.AllRightsReserved Почему Jenkins? 22 Jenkins – Система Непрерывной
Интеграции Фреймворк Автоматизации
23.
©2016CloudBees,Inc.AllRightsReserved 23 Интеграции >1200 плагинов Интеграция с сотнями тулов Управление процессами автоматизации Автоматизация любых
задач Code & Commit Build & Config Scan & Test Release Deploy
24.
©2016CloudBees,Inc.AllRightsReserved Строим Delivery Pipeline.
“Классический” подход • Failover – Naginator-плагин • Воспроизводимость – Чистое окружение – Одноразовые виртуальные машины 24 • Параллелизация – Matrix Project – Parameterized Trigger • Цепочки задач: – MultiJob plugin – Build Pipeline Plugin • Шаблонизация: – Template project – Inheritance plugin
25.
©2016CloudBees,Inc.AllRightsReserved Классические подходы Спагетти-автоматизация • Зависимости между
задачами • Трекинг компонентов • Сложные конфигурации • Дупликация • Сложность поддержки • Ошибки
26.
©2016CloudBees,Inc.AllRightsReserved Что делать? 26
27.
©2016CloudBees,Inc.AllRightsReserved Pipeline as Code 27 Описание
процесса сборки в виде кода
28.
©2016CloudBees,Inc.AllRightsReserved •Хранение [X] вместе
с проектом •Отслеживание изменений •Тестирование [X] вместе с проектом [X] as code – часть Continuous Delivery Зачем оно нужно? 28 [X] – Configuration, Documentation, Pipeline… Everything!
29.
©2016CloudBees,Inc.AllRightsReserved 29 Automation as Code Job
DSL Pipeline (бывш. Workflow) По-умолчанию предлагается в Jenkins 2.0 Jenkins Job Builder Groovy Groovy YAML Ещё несколько плагинов…
30.
©2016CloudBees,Inc.AllRightsReserved •Groovy DSL для
описания задач •Тип задачи в Jenkins (Pipeline Job) •Open-source экосистема для X-as- code Что такое Jenkins Pipeline? 30
31.
©2016CloudBees,Inc.AllRightsReserved 31 Pipeline. Запуск скрипта
из SCM • Синтаксис на базе Groovy • Шаги для типовых операций • Описания задач можно хранить в SCM • Jenkinsfile – описание задачи в корне репозитория • Шаг git() заменяется на “checkout scm” • http://bit.ly/pipeline-tutorial
32.
©2016CloudBees,Inc.AllRightsReserved Pipeline Multibranch. Пример •
Автоматическое создание задач для веток и pull-request’ов • Независимые репортинг и история сборок • Работает на уровне организаций
33.
©2016CloudBees,Inc.AllRightsReserved • Генератор шаблонов
в UI – Пользователь настраивает шаг сборки в UI – Jenkins генерирует код для Pipeline 33 Фичи Pipeline
34.
©2016CloudBees,Inc.AllRightsReserved • Отображение последовательного
Pipeline • CloudBees перевела проект в OSS 34 Фичи. Pipeline Stage View • Шаг stage() • Логи для отдельных стадий задачи • Интерактивные шаги интегрированы в UI
35.
©2016CloudBees,Inc.AllRightsReserved Фичи: Pipeline View
Plugin • Другое представление Pipeline • Сейчас–релиз вне основного центра апдейтов 35
36.
©2016CloudBees,Inc.AllRightsReserved • Pipeline не
привязан к конкретной ноде • Параллелизация – Команда parallel() – не нужны связки джобов • Множественные node() в одной задаче – => + parallel() – запуск тестов на разных машинах тестов на машинах • Множественные scm() в одной задаче • Интерактивные шаги 36 Специфика Pipeline
37.
©2016CloudBees,Inc.AllRightsReserved 37 Пример. Параллельные тесты … stage
‘test' parallel 'unit' : { node { unstash 'source' sh "./gradlew :test" stash includes: 'build/jacoco/*.exec', name: 'unitCodeCoverage' step([$class:'JUnitResultArchiver', testResults:'**/build/test-results/*.xml']) } }, 'integration': { node { unstash 'source' sh "./gradlew -PhappyPath :integration-test:test" step([$class:'JUnitResultArchiver', testResults:'**/build/test-results/*.xml']) } }
38.
©2016CloudBees,Inc.AllRightsReserved • Устойчивость к
рестарту мастера – Pipeline хранит контекст и продолжает задачу после рестарта • Шаг sh() – Durable Task Plugin – Устойчивость к разрывам сети • Failover в случае инфраструктурных проблем 38 Pipeline. Надежность инфраструктуры
39.
©2016CloudBees,Inc.AllRightsReserved Pipeline. Надежность инфраструктуры •
Почти любая ошибка может быть перехвачена и отработана Переход на другую ноду Node #1 Node #2. . . . . . for (def board : boards) { echo "trying board " + board; try { node(board) { checkout scm sh ‘./bin/run.sh’ // Call passed => DONE break; } } catch (Exception ex) { if (ex.message.contains ("exit code 255")) { // Fatal error fail("Test run failed") } } } Пример кода
40.
©2016CloudBees,Inc.AllRightsReserved • Команда load()
–загрузка Pipeline из файла • Pipeline Global Library Plugin – Входит в состав ядра Pipeline plugin – Создает Git-репозиторий в Jenkins – Предоставляет глобальные классы и переменные • Pipeline Remote Loader Plugin – Загрузка кода Pipeline из Git/GitHub 40 Фичи. Шаблонизация
41.
©2016CloudBees,Inc.AllRightsReserved Pipeline. Воспроизводимость • Staging-репозитории –
Плагины/CLI для Nexus, Artifactory, TFS, … • «Чистые» окружения – Нативная поддержка виртуальных машин – Поддержка Cloud API Jenkins o AWS, EC2, Azure, Mesos, vSphere, Docker, … – Docker Pipeline Plugin 41
42.
©2016CloudBees,Inc.AllRightsReserved Docker Pipeline Plugin.
Пример • Запуск задачи внутри контейнера: • Сборка и публикация образов: 42
43.
©2016CloudBees,Inc.AllRightsReserved 43 Пример. CD Jenkins-бота #!groovy def
imageName = 'jenkinsciinfra/ircbot’ node('docker') { checkout scm // Немного магии для получения тэга Docker-образа sh 'git rev-parse HEAD > GIT_COMMIT' shortCommit = readFile('GIT_COMMIT').take(6) def imageTag = "build${shortCommit}" stage 'Build ircbot' withMavenEnv (["BUILD_NUMBER=${env.BUILD_NUMBER}:${shortCommit}"]) { sh 'make bot' // Make вызывает Maven } stage 'Build container' def whale = docker.build("${imageName}:${imageTag}”) stage 'Deploy container' whale.push() } https://github.com/jenkins-infra/ircbot
44.
©2016CloudBees,Inc.AllRightsReserved 44 ЕСТЬ ЛИ РУЧНОЕ
ТЕСТИРОВАНИЕ В CONTINUOUS DELIVERY?
45.
©2016CloudBees,Inc.AllRightsReserved Ручное тестирование • На
критическом пути – в идеале НЕТ • Но: – Прототипирование автотестов – Исследовательское тестирование • При CD тесты… – выполняются после автоматического QA – встраиваются в Delivery Pipeline – максимально автоматизированы 45
46.
©2016CloudBees,Inc.AllRightsReserved 46 Пример. Интерактивные шаги //
Сборка проекта из репозитория // Инициализация тестового прогона в TestRail для QA // Автотесты, репортинг, деплой на staging-сервер // Отправить уведомления ручным тестировщикам echo ’Automatic tests passed’ hipchatSend('@QATeam The build ' + buildVersion + ' has been staged: ' + stagingURL + '. Please Test it and report back to ' + build.url + '. TestRail run is here: ' + testRailRunURL) // Подождать, пока QA подтвердят релиз input message: 'Have manual spot-checks passed? Ready to release?' // Релиз и нотификации mail to: "dream_team@cloudbees.com", subject: "Dream Product - build is released", body: "Hi there, The new build of the product has been released. Link:» + artifactoryLink ~~~~~~Много кода~~~~~~ ~~~~~~Много кода~~~~~~
47.
©2016CloudBees,Inc.AllRightsReserved Pipeline в CloudBees
Jenkins Platform • Частичный Continuous Delivery • Около 100 внутренних модулей + open-source • Тысячи сборок в день • У нас нет тестировщиков (только SDET) • Что мы автоматизируем? – Проверка pull-request’ов, validated Merge – Релизы (компоненты, инсталляторы) – CD документации на сайты – Интеграция компонентов (ночные сборки) – Деплой на staging 47
48.
©2016CloudBees,Inc.AllRightsReserved Pipeline в CloudBees
Jenkins Platform • Что сделали? – Весь код в SCM, минимальные настройки проектов – Внутренняя библиотека Pipeline – Pipeline Utility Steps • Чего добились? – Релиз и staging одной кнопкой – Легко тестируем изменения в Build Flow – Более эффективная параллелизация UI-тестов oUI-тесты: 8 часов (на N машинах) => 1 час oРелиз основного модуля– 3 часа 48
49.
©2016CloudBees,Inc.AllRightsReserved • Jenkins 2.0 –
… частично решает проблемы с UI/UX – … будет развиваться дальше • Pipeline as Code – … снижает затраты на поддержку автоматизации – … может быть применен для CD – … может быть применен для задач QA 49 Заключение
50.
©2016CloudBees,Inc.AllRightsReserved • Twitter: @jenkins_ru •
Gitter: http://gitter.im/jenkinsci-ru – QA: использование и разработка Jenkins • Митапы: – Санкт-Петербург o http://www.meetup.com/St-Petersburg-Jenkins- Meetup/ – Москва – in progress o http://www.meetup.com/Moscow-Jenkins- Meetup/ – Минск (@KostyaSha, привет!) – CloudBees спонсирует митапы 50 Русскоязычное комьюнити Здесь может быть Ваше лого
51.
©2016CloudBees,Inc.AllRightsReserved • Jenkins: – Вебсайт:
http://jenkins.io – Jenkins 2.0: https://jenkins-ci.org/2.0/ – Jenkins и CD: https://jenkins.io/solutions/pipeline/ • Pipeline-as-Code: – Документация: https://jenkins.io/doc/pipeline/ – Примеры: https://github.com/jenkinsci/pipeline-examples • CloudBees: – Вебсайт: https://www.cloudbees.com/ – CloudBees Jenkins Platform: https://www.cloudbees.com/products/cloudbees-jenkins-platform 51 Ссылки
52.
©2016CloudBees,Inc.AllRightsReserved©2015CloudBees,Inc.AllRightsReserved 52
53.
©2016CloudBees,Inc.AllRightsReserved Почему “автоматизации”? 53 Непрерывной Интеграции Continuous Integration Continuous Delivery DevOps Автоматизация бухучёта Home Automation CRON с
WebUI
54.
©2016CloudBees,Inc.AllRightsReserved Почему “фреймворк”? 54 Система Гибок и расширяем Минимален
«из коробки» Требует настройки
55.
©2016CloudBees,Inc.AllRightsReserved 55 Система Инфра- структура Доку- мен- тация Инфра- структура Конфиги Инфра- структура Шаб- лоны Система на базе Jenkins
56.
©2016CloudBees,Inc.AllRightsReserved • Multibranch Pipeline
– тип задачи – В конфигурации – ссылка на репозиторий o Git/GitHub, BitBucket, … – Описание проекта - Jenkinsfile – Для всех веток – ОТДЕЛЬНЫЕ задачи в Jenkins o Сборки при коммитах o Независимые отчеты и Build History – [СКОРО] – Сборка pull-request’ов • (+) Multi-branch работает на уровне организаций в GitHub и BitBucket 56 Фичи Pipeline. Multibranch
57.
©2016CloudBees,Inc.AllRightsReserved 57 Multibranch Pipeline. Пример
58.
©2016CloudBees,Inc.AllRightsReserved 58 Pipeline. Шаги >100 шагов: •
Интеграции с плагинами • Системные шаги • Дополнительные библиотеки
59.
©2016CloudBees,Inc.AllRightsReserved 59 Pipeline Remote Loader.
Пример stage 'Load files from GitHub' def environment, helloworld fileLoader.withGit ('https://github.com/jenkinsci/workflow- remote-loader-plugin.git', 'master', null, '') { helloworld = fileLoader.load('examples/fileLoader/helloworld'); environment = fileLoader.load('examples/fileLoader/environment'); } stage 'Run methods from the loaded content' helloworld.printHello() environment.dumpEnvVars()
Jetzt herunterladen