SlideShare a Scribd company logo
1 of 37
Download to read offline
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
XII	международная	конференция
CEE-SECR	/	РАЗРАБОТКА	ПО
28	- 29 октября,	Москва
Олег	Ненашев
Jenkins 2.	Как	сделать	мажорный	
релиз	и	не	развалить	сообщество?
CloudBees,	Inc.
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
— Закончил	СПбПУ,	к.т.н.
— CloudBees,	Jenkins	Developer
— CloudBees	– один	из	основных	контрибьюторов Jenkins
— Занимаюсь	Open-Source	и	CloudBees	Jenkins	Platform
— (+)	Поддержка/Консалтинг
— Jenkins	Project,	Core	Team
— Работаю	с	Hudson/Jenkins	~8	лет
— Автоматизация	в	Hardware/Embedded
— Занимаюсь	ядром	Jenkins
— Поддерживаю	плагины:	Role	Strategy,	Ownership,	Job	
Restrictions, Custom	Tools…
> whoami
@oleg_nenashev
oleg-nenashev
2
О чём доклад?
Есть	в	докладе:
ü О	сообществе	Jenkins
ü О	релизе	Jenkins	2
ü О	дальнейших	планах
3
Disclaimer:
• Данная	презентация	отражает	личное	мнение	докладчика
• Личное	мнение	докладчика	может	не	совпадать	с	
официальной	позицией	CloudBees	или	сообщества	Jenkins
Нет	в	докладе:
X Deep	Dive	в	Jenkins	Pipeline
X Сложных	примеров
=>	Moscow	Jenkins	Meetup
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Who is Mr. Jenkins?
4
Jenkins – это
Система
Непрерывной Интеграции
Сервер/фреймворк
Автоматизации
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Кто такой Jenkins?
5
Сборка
Тестиро-
вание
Создание	
пакетов
Развер-
тывание
Отчёты,	
анали-
тика
и	другое
• Сервер автоматизации
• Continuous Integration
• Continuous Delivery
• DevOps
• …
• Веб-интерфейс
• Распределенная система
• >1000 плагинов
• Open-source (MIT)
https://jenkins.io
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Популярность	Jenkins
http://stats.jenkins-ci.org/jenkins-stats/
• 140,000 инсталляций
• 6 миллионов задач
• ~300 коммиттеров за
полгода
• ~2 новых плагина в
неделю
• ~50 релизов плагинов
в неделю
6
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Jenkins Universe
Сообщество
* Исх.	Автор: Kuiper oort (dumb version).jpg: NASADump version updated by Manco Capac
in order to have a better full image. No Credit required for this current version.derivative
work: Skab (talk), Chesnok (talk) - Kuiper oort (dumb version).jpg, Общественное
достояние, https://commons.wikimedia.org/w/index.php?curid=8812483
Core Team Разработчики плагинов
Профес-
сиональные
админы
Пользователи
~25 ~300
~тысячи
~миллионы
7
• Число пользователей растет
быстрее числа разработчиков
• Размер Core Team почти не
изменился с 2011г.
• Не хватает ментейнеров
плагинов
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Kohsuke:	“Jenkins	project	– это	базар”
• Самоорганизация
• Большое	число	участников
• Разные	интересы	и	проекты8
Сообщество Jenkins
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
— Сложно	принимать	решения
— => Частично	помогает Jenkins	Governance	Meeting
— Нет	единого	процесса
— =>	Прямые	коммиты в	мастер
— =>	Мердж без	достаточного	количества	голосов
— Процесс	комьюнити vs.	процесс	групп	
контрибьюторов (CloudBees,	RedHat и	т.д.)
Недостатки	Bazaar-подхода
9
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Сообщество	разработчиковJenkins	board
Core	Team
Security
Release/LTS
Events
INFRA Website
"Команды"
плагинов
10
IRC	на	FreeNode
— #jenkins,	#jenkins-meeting,	
#jenkins-community
Jenkins	JIRA
— Ядро и	плагины
— Компонент	“_unsorted”	–
Если	непонятно
Рассылки (@googlegroups.com)
— jenkinsci-dev,	jenkinsci-cert
— jenkinsci-users
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Комьюнити. Jenkins-митапы
• >40 митапов
• >8000 участников
11
• Online Meetup
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
— Twitter:	@jenkins_ru
— Gitter:	http://gitter.im/jenkinsci-ru
— Q&A,	использование	и	разработка	Jenkins
— Митапы:
— http://www.meetup.com/St-Petersburg-Jenkins-Meetup/
— http://www.meetup.com/Moscow-Jenkins-Meetup/
— http://www.meetup.com/Belarus-Jenkins-Meetup/
— …
Русскоязычное	сообщество
Здесь	
может	
быть	
Ваше	лого
12
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Jenkins 1.х. Что	было	не	так?
— CI	уже	не	моден
— … must-have
— Смена	фокуса	в	ПО
— Continuous	Delivery
— Continuous	Deployment
— DevOps
— Everything as	Code
13
Рой Buzzword’ов
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Jenkins 1.х. Что	было	не	так?
— Изменение	экосистемы
— Публичные	и	приватные	облака
— Docker,	Docker,	Docker,	Docker,	…
— Централизация	систем	автоматизации
— Требования	к	надежности
— Конкурирующие	сервисы
14
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Jenkins 1.х. Что	было	не	так?
L
Устаревший
веб-интерфейс
Сложность	настройки	
системы	и	задач
Неполная	
документация
Интеграционные	
проблемы
15
Было: Проект от хакеров для
хакеров (open-source)
Стало: не все хотят/могут
копаться в коде
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Масштабируемость	ограничена
Агент	1
Агент	2
Агент	N
. . .
• Мастер решает большую часть задач
• Удалённые задачи ВСЕГДА нагружают мастер
• Ввод-вывод на мастере
Горизонтальное
масштабирование
??? Gearman
CloudBees Jenkins Platform
16
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
— Сейчас	- Мало	разработчиков	ядра
— Многие	вендоры используют	Jenkins ”как	есть”
— Недостаток	“постоянных”	контрибьюторов
— Мало	активных	мейнтейнеров плагинов
— Есть:	Сотни
— Надо:	Тысячи
Проблемы	роста
17
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
>5 лет	бинарной	совместимости
• Плагины для Hudson 2 ещё работают!
• Для пользователей:
• Архитектурные проблемы
• Устаревший UI
• Интеграционные проблемы в плагинах
• Для разработчиков Jenkins:
• Высокая стоимость поддержки
• Порог входа
18
Jenkins 2
• Планирование	– FOSDEM	2016
• Релиз 2.0	- в апреле 2016
• Long-Term	Support	(LTS) – июль 2016
• ~50%	инсталляций обновились на Jenkins	2
19
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Jenkins 2.	Как	это	было?
Ожидание
Реальность
20
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Jenkins 2.	Как	это	было?
Ожидание Реальность
— Изменить	архитектуру	и	
«сделать	как	надо»
— Сделать	все	заплани-
рованные в	релизе	2.0
— Много	контрибьюторов
— Релиз	2.0	в	короткий	срок	
(несколько	месяцев)
— Минимальные	изменения,	
сохранение	совместимости
— 2.0	– лишь	часть	изменений,	
работаем	надо	остальным
— ~10	человек	+	CloudBees
— А	ведь	сделали	J
21
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
— Новый	вебсайт (jenkins.io)
— Security-опции	по-умолчанию
— Улучшения	UI:
— Новый	мастер	установки/апгрейда
— Улучшение	страниц	конфигурации
— Изменение	набора	плагинов
— Jenkins	Pipeline	
— Configuration	as	Code	для	задач
Jenkins 2. Что	внутри?
http://bit.ly/jenkins20
22
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Pipeline - это
Ø Groovy	DSL	для	описания	задач
— Альтернативы	– Job	DSL,	Jenkins	Job	Builder
Ø Тип	задачи	в Jenkins	(Pipeline,	Multi-branch Pipeline)
— Описание	задач	можно	хранить	в	SCM	- Jenkinsfile
— Автоматическое	сознание	задач	для	веток	и	pull-request’ов
Ø Экосистема для	Automation-as-Code
— >20	Pipeline-плагинов	(“ядро?”)
— Множество	фич (UI,		Стабильность)
— Интеграции
23
// Run on a node having the “my_fpga” label
node("linux && ml509") {
git url:"http://github.com/myorg/myproject.git"
sh "make all"
} http://bit.ly/pipeline-tutorial
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Основные	фичи Pipeline
— Groovy	– все	плюсы	ООП
— Обработка	ошибок
— Библиотеки	(с	@Grab	из	груви)
— Нет	привязки	к	отдельной	машине
— Команда	parallel()	– не	нужны	связки	джобов
— Множественные	node()	в	одной	задаче
— Интерактивные	шаги
— Устойчивость	к	рестартам	мастера	и	проблемам	с	сетью
— UI:	Pipeline	Stage	View,	Blue	Ocean
24
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Пример. CD Jenkins-бота
def imageName = 'jenkinsciinfra/ircbot’
node('docker') {
checkout scm
// Немного магии для получения тэга Docker-образа
sh 'git rev-parse HEAD > GIT_COMMIT'
commit = readFile('GIT_COMMIT').take(6)
def imageTag = "build${commit}"
stage 'Build ircbot'
withMavenEnv
(["BUILD_NUMBER=${env.BUILD_NUMBER}:${commit}"]) {
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
Слишком сложно?
• Snippet Generator
• Pipeline Model Definition
• Travis YML Converter
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
— https://jenkins.io/doc/
— Мои	предыдущие	доклады:
— Митапы по	Jenkins	в	СПб
— QA:Conference:	
— “Jenkins	2	для	автоматизаторов”:	
— http://bit.ly/jenkins2-qaconf
— SQADays:
— “Jenkins 2.0:	Организуем тестирование в составе CD”
— http://sqadays.com/ru/index?eventId=38947
Подробнее	о	Pipeline
26
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Итак,	а	что	с	Community?
— Многие	были	недовольны	подходом	в	Jenkins	2.0
— Недостаточно	изменений	в	архитектуре
— Нет	желаемых	хотелок
— Мало	внимания	уделено	Contributor	Experience
— НО:
— Jenkins	2.0	!=	Jenkins	2
— Многие	TODO	реализуются	в	Jenkins	2.x
— Jenkins	3	– пара	лет
27
Jenkins 2. Дальнейшие	Планы
• Развитие	экосистемы	Pipeline
• UI/UX,	BlueOcean
• Внешнее	хранилище	данных
• Инфраструктура
28
UI/UX
• Новый	JavaScript-фреймворк для	создания	UI	в	Jenkins
• Node.js,	React,	интеграция	в	механизм	плагинов
• Улучшение	UI	в	ядре
• Доработка	страниц	навигации	и	настройки	задач
• Оптимизация	«тяжелых	элементов»	- очередь,	история	сборок	и	пр.
• BlueOcean – попытка	сделать	новый	UI
29
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Blue Ocean
— Новый	Web	UI	для	Jenkins
— Фокус	– Jenkins	Pipeline
30
https://jenkins.io/projects/blueocean/
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Масштабирование	и	надежность
— Pluggable	Storage
— Использование	внешних	хранилищ	данных
— Минимизация	использования	диска	и	сети
— External	Logging	– Logstash и	Co
— Улучшение	механизма	коммуникации	с	агентами
— Remoting	3	/	JNLP4
— Диагностика	агентов	в	случае	отказов
— Возможность	обновления	Remoting	без	апдейта ядра
31
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
— Было:	“сапожник	без	сапог”
— Партнерство	с	Azure
— https://jenkins.io/blog/2016/05/18/announcing-azure-
partnership/
— Планы:
— Релиз-flow без	человеческого	фактора
— Переезд	на	Azure	– больше	ресурсов	
— Переезд	с	jenkins.ci.cloudbees.com на	OSS-only	инфраструктуру
Jenkins 2. Инфраструктура
32
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
— Интеграция	нового	parent	POM	в	плагины
— POM	больше	не	привязан	к	версии	ядра	=> можно	
обновлять	flow	без	ядра
— Статический	анализ	– хотя	бы	FindBugs в	автосбрках
— Доработка		
— Acceptance	Test	Harness	и	Plugin	Compatibility	
фреймворков
Jenkins 2. Качество
33
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Архитектурные	изменение	Jenkins
— Основные	кандидаты:
— Механизм	устаревания	API
— Pluggable	Storage	- подключение внешних	хранилищ
— Логи,	Артефакты,	конфиги,	…
— Горизонтальное	масштабирование
— Переработка	remoting	– переезд	коммуникаций	на	
стандартную	open-source	шину
— Stay	tuned!
34
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Выводы
1. Jenkins	продолжает	развиваться
2. Jenkins	2	– не	просто	маркетинговый	релиз
3. Обновляться	надо
— Гайды по	апгрейду	– на	сайте
4. Стоит	попробовать:
— Jenkins	Pipeline	/	Multi-Branch	Pipeline
— BlueOcean
35
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Хотите	узнать	больше?
— Jenkins	Moscow	Meetup,	2	ноября,	19:00
— http://www.meetup.com/Moscow-Jenkins-
Meetup/events/235107785/
— Олег	Ненашев	
— Jenkins	2.x.	Что	Дальше?
— Кирилл	Толкачев,	
— CD	with	Jenkins:	Lessons	Learned
— Mr.	TBD
36
Офис Deutsche Bank, Беговая 3 стр. 1, 27 этаж
@oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016
Вопросы?
Offline: http://gitter.im/jenkinsci-ru
Контакты:
E-mail: onenashev@cloudbees.com
GitHub: oleg-nenashev
Twitter: @oleg_nenashev
Ссылки:
• jenkins.io
• cloudbees.com
• go.cloudbees.com

More Related Content

What's hot

Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)
 
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
SQALab
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущее
Badoo Development
 

What's hot (20)

Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?
 
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
 
WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформа
 
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторить
 
Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестировании
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачи
 
Как мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в BadooКак мы приручили демона или процесс тестирования демонов в Badoo
Как мы приручили демона или процесс тестирования демонов в Badoo
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущее
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Нагрузка и автоматизация в большой организации. Движение к DevOps
Нагрузка и автоматизация в большой организации. Движение к DevOpsНагрузка и автоматизация в большой организации. Движение к DevOps
Нагрузка и автоматизация в большой организации. Движение к DevOps
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейКак 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
 
Оценка проектов тестирования
Оценка проектов тестированияОценка проектов тестирования
Оценка проектов тестирования
 
Экономически эффективный процесс тестирования
Экономически эффективный процесс тестированияЭкономически эффективный процесс тестирования
Экономически эффективный процесс тестирования
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 

Viewers also liked

Viewers also liked (8)

SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
UAT не для слабаков
UAT не для слабаковUAT не для слабаков
UAT не для слабаков
 
Аудит команды тестирования в сложном проекте
Аудит команды тестирования в сложном проектеАудит команды тестирования в сложном проекте
Аудит команды тестирования в сложном проекте
 
JDI: Автоматизировать проще, чем кажется
JDI: Автоматизировать проще, чем кажетсяJDI: Автоматизировать проще, чем кажется
JDI: Автоматизировать проще, чем кажется
 
DevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестированияDevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестирования
 
Управление качеством проекта
Управление качеством проектаУправление качеством проекта
Управление качеством проекта
 
Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
Александр Шуров, Олег Николенко  «Как устроено автоматическое frontend-тестир...Александр Шуров, Олег Николенко  «Как устроено автоматическое frontend-тестир...
Александр Шуров, Олег Николенко «Как устроено автоматическое frontend-тестир...
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
 

Similar to Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?

Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
beloslab
 
Сборка проектов с помощью ENB
Сборка проектов с помощью ENBСборка проектов с помощью ENB
Сборка проектов с помощью ENB
Aleksandr Boichenko
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
jazzteam
 

Similar to Jenkins 2. Как сделать мажорный релиз и не развалить сообщество? (20)

Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015
 
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
 
VCS/Expressway архитектура и диагностика
VCS/Expressway архитектура и диагностикаVCS/Expressway архитектура и диагностика
VCS/Expressway архитектура и диагностика
 
Сборка проектов с помощью ENB
Сборка проектов с помощью ENBСборка проектов с помощью ENB
Сборка проектов с помощью ENB
 
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parser
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
Владимир Русинов, Алексей Капранов "Яндекс.Диск: архитектура, синхронизация и...
 
Комплексный подход к разработке
Комплексный подход к разработкеКомплексный подход к разработке
Комплексный подход к разработке
 
Bachelors Diploma Slides Short Version
Bachelors Diploma Slides Short VersionBachelors Diploma Slides Short Version
Bachelors Diploma Slides Short Version
 
А.Левенчук -- основные альфы системной инженерии в Essence
А.Левенчук -- основные альфы системной инженерии в EssenceА.Левенчук -- основные альфы системной инженерии в Essence
А.Левенчук -- основные альфы системной инженерии в Essence
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
Intro
IntroIntro
Intro
 
Nikita Galkin "5 production Node.js stories"
Nikita Galkin "5 production Node.js stories"Nikita Galkin "5 production Node.js stories"
Nikita Galkin "5 production Node.js stories"
 
Основные альфы системной инженерии (Systems engineering Essence)
Основные альфы системной инженерии (Systems engineering Essence)Основные альфы системной инженерии (Systems engineering Essence)
Основные альфы системной инженерии (Systems engineering Essence)
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
CMNext
CMNextCMNext
CMNext
 
CD with Jenkins. Lessons Learned
CD with Jenkins. Lessons LearnedCD with Jenkins. Lessons Learned
CD with Jenkins. Lessons Learned
 
Continuous integration testing of mobile SDK
Continuous integration testing of mobile SDKContinuous integration testing of mobile SDK
Continuous integration testing of mobile SDK
 

More from CEE-SEC(R)

Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
CEE-SEC(R)
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестирования
CEE-SEC(R)
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
CEE-SEC(R)
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследования
CEE-SEC(R)
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
CEE-SEC(R)
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательств
CEE-SEC(R)
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
CEE-SEC(R)
 

More from CEE-SEC(R) (20)

Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...Подбор и адаптация методологий разработки ПО под различные типы производствен...
Подбор и адаптация методологий разработки ПО под различные типы производствен...
 
Проектный офис и аналитик
Проектный офис и аналитикПроектный офис и аналитик
Проектный офис и аналитик
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
Как компании с вузами вместе ИТ специалиста готовили или Чем ИТ компания може...
 
«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами«Знак качества» как инструмент анализа восприятия продукта клиентами
«Знак качества» как инструмент анализа восприятия продукта клиентами
 
Машинное обучение на каждый день
Машинное обучение на каждый деньМашинное обучение на каждый день
Машинное обучение на каждый день
 
Process и Case Management в информационной системе:
Process и Case Management в информационной системе: Process и Case Management в информационной системе:
Process и Case Management в информационной системе:
 
Проблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестированияПроблемы процесса разработки с точки зрения тестирования
Проблемы процесса разработки с точки зрения тестирования
 
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
Как ЧПУ станку в домашней мастерской не превратиться в мульт героев “двое из ...
 
Ай-трекинг в UX исследованиях
Ай-трекинг в UX исследованияхАй-трекинг в UX исследованиях
Ай-трекинг в UX исследованиях
 
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
Настоящее и будущее решений для разработки кросс-платформенных мобильных гибр...
 
Технологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследованияТехнологичный подход к повышению продуктивности – кейсы и исследования
Технологичный подход к повышению продуктивности – кейсы и исследования
 
Субъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятияхСубъектно-ориентированные информационные системы на предприятиях
Субъектно-ориентированные информационные системы на предприятиях
 
Шаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в VirtuozzoШаблоны контейнеров в Virtuozzo
Шаблоны контейнеров в Virtuozzo
 
Apache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализацииApache Storm: от простого приложения до подробностей реализации
Apache Storm: от простого приложения до подробностей реализации
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
 
Разработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательствРазработка требований для противоречащих законодательств
Разработка требований для противоречащих законодательств
 
IT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартаповIT-Лаборатория: кузница кадров и стартапов
IT-Лаборатория: кузница кадров и стартапов
 
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»Законы создания IT команд и следствия законов для IT проектов «на пальцах»
Законы создания IT команд и следствия законов для IT проектов «на пальцах»
 

Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?

  • 1. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 XII международная конференция CEE-SECR / РАЗРАБОТКА ПО 28 - 29 октября, Москва Олег Ненашев Jenkins 2. Как сделать мажорный релиз и не развалить сообщество? CloudBees, Inc.
  • 2. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 — Закончил СПбПУ, к.т.н. — CloudBees, Jenkins Developer — CloudBees – один из основных контрибьюторов Jenkins — Занимаюсь Open-Source и CloudBees Jenkins Platform — (+) Поддержка/Консалтинг — Jenkins Project, Core Team — Работаю с Hudson/Jenkins ~8 лет — Автоматизация в Hardware/Embedded — Занимаюсь ядром Jenkins — Поддерживаю плагины: Role Strategy, Ownership, Job Restrictions, Custom Tools… > whoami @oleg_nenashev oleg-nenashev 2
  • 3. О чём доклад? Есть в докладе: ü О сообществе Jenkins ü О релизе Jenkins 2 ü О дальнейших планах 3 Disclaimer: • Данная презентация отражает личное мнение докладчика • Личное мнение докладчика может не совпадать с официальной позицией CloudBees или сообщества Jenkins Нет в докладе: X Deep Dive в Jenkins Pipeline X Сложных примеров => Moscow Jenkins Meetup
  • 4. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Who is Mr. Jenkins? 4 Jenkins – это Система Непрерывной Интеграции Сервер/фреймворк Автоматизации
  • 5. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Кто такой Jenkins? 5 Сборка Тестиро- вание Создание пакетов Развер- тывание Отчёты, анали- тика и другое • Сервер автоматизации • Continuous Integration • Continuous Delivery • DevOps • … • Веб-интерфейс • Распределенная система • >1000 плагинов • Open-source (MIT) https://jenkins.io
  • 6. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Популярность Jenkins http://stats.jenkins-ci.org/jenkins-stats/ • 140,000 инсталляций • 6 миллионов задач • ~300 коммиттеров за полгода • ~2 новых плагина в неделю • ~50 релизов плагинов в неделю 6
  • 7. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Jenkins Universe Сообщество * Исх. Автор: Kuiper oort (dumb version).jpg: NASADump version updated by Manco Capac in order to have a better full image. No Credit required for this current version.derivative work: Skab (talk), Chesnok (talk) - Kuiper oort (dumb version).jpg, Общественное достояние, https://commons.wikimedia.org/w/index.php?curid=8812483 Core Team Разработчики плагинов Профес- сиональные админы Пользователи ~25 ~300 ~тысячи ~миллионы 7 • Число пользователей растет быстрее числа разработчиков • Размер Core Team почти не изменился с 2011г. • Не хватает ментейнеров плагинов
  • 8. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Kohsuke: “Jenkins project – это базар” • Самоорганизация • Большое число участников • Разные интересы и проекты8 Сообщество Jenkins
  • 9. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 — Сложно принимать решения — => Частично помогает Jenkins Governance Meeting — Нет единого процесса — => Прямые коммиты в мастер — => Мердж без достаточного количества голосов — Процесс комьюнити vs. процесс групп контрибьюторов (CloudBees, RedHat и т.д.) Недостатки Bazaar-подхода 9
  • 10. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Сообщество разработчиковJenkins board Core Team Security Release/LTS Events INFRA Website "Команды" плагинов 10 IRC на FreeNode — #jenkins, #jenkins-meeting, #jenkins-community Jenkins JIRA — Ядро и плагины — Компонент “_unsorted” – Если непонятно Рассылки (@googlegroups.com) — jenkinsci-dev, jenkinsci-cert — jenkinsci-users
  • 11. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Комьюнити. Jenkins-митапы • >40 митапов • >8000 участников 11 • Online Meetup
  • 12. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 — Twitter: @jenkins_ru — Gitter: http://gitter.im/jenkinsci-ru — Q&A, использование и разработка Jenkins — Митапы: — http://www.meetup.com/St-Petersburg-Jenkins-Meetup/ — http://www.meetup.com/Moscow-Jenkins-Meetup/ — http://www.meetup.com/Belarus-Jenkins-Meetup/ — … Русскоязычное сообщество Здесь может быть Ваше лого 12
  • 13. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Jenkins 1.х. Что было не так? — CI уже не моден — … must-have — Смена фокуса в ПО — Continuous Delivery — Continuous Deployment — DevOps — Everything as Code 13 Рой Buzzword’ов
  • 14. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Jenkins 1.х. Что было не так? — Изменение экосистемы — Публичные и приватные облака — Docker, Docker, Docker, Docker, … — Централизация систем автоматизации — Требования к надежности — Конкурирующие сервисы 14
  • 15. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Jenkins 1.х. Что было не так? L Устаревший веб-интерфейс Сложность настройки системы и задач Неполная документация Интеграционные проблемы 15 Было: Проект от хакеров для хакеров (open-source) Стало: не все хотят/могут копаться в коде
  • 16. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Масштабируемость ограничена Агент 1 Агент 2 Агент N . . . • Мастер решает большую часть задач • Удалённые задачи ВСЕГДА нагружают мастер • Ввод-вывод на мастере Горизонтальное масштабирование ??? Gearman CloudBees Jenkins Platform 16
  • 17. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 — Сейчас - Мало разработчиков ядра — Многие вендоры используют Jenkins ”как есть” — Недостаток “постоянных” контрибьюторов — Мало активных мейнтейнеров плагинов — Есть: Сотни — Надо: Тысячи Проблемы роста 17
  • 18. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 >5 лет бинарной совместимости • Плагины для Hudson 2 ещё работают! • Для пользователей: • Архитектурные проблемы • Устаревший UI • Интеграционные проблемы в плагинах • Для разработчиков Jenkins: • Высокая стоимость поддержки • Порог входа 18
  • 19. Jenkins 2 • Планирование – FOSDEM 2016 • Релиз 2.0 - в апреле 2016 • Long-Term Support (LTS) – июль 2016 • ~50% инсталляций обновились на Jenkins 2 19
  • 20. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Jenkins 2. Как это было? Ожидание Реальность 20
  • 21. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Jenkins 2. Как это было? Ожидание Реальность — Изменить архитектуру и «сделать как надо» — Сделать все заплани- рованные в релизе 2.0 — Много контрибьюторов — Релиз 2.0 в короткий срок (несколько месяцев) — Минимальные изменения, сохранение совместимости — 2.0 – лишь часть изменений, работаем надо остальным — ~10 человек + CloudBees — А ведь сделали J 21
  • 22. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 — Новый вебсайт (jenkins.io) — Security-опции по-умолчанию — Улучшения UI: — Новый мастер установки/апгрейда — Улучшение страниц конфигурации — Изменение набора плагинов — Jenkins Pipeline — Configuration as Code для задач Jenkins 2. Что внутри? http://bit.ly/jenkins20 22
  • 23. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Pipeline - это Ø Groovy DSL для описания задач — Альтернативы – Job DSL, Jenkins Job Builder Ø Тип задачи в Jenkins (Pipeline, Multi-branch Pipeline) — Описание задач можно хранить в SCM - Jenkinsfile — Автоматическое сознание задач для веток и pull-request’ов Ø Экосистема для Automation-as-Code — >20 Pipeline-плагинов (“ядро?”) — Множество фич (UI, Стабильность) — Интеграции 23 // Run on a node having the “my_fpga” label node("linux && ml509") { git url:"http://github.com/myorg/myproject.git" sh "make all" } http://bit.ly/pipeline-tutorial
  • 24. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Основные фичи Pipeline — Groovy – все плюсы ООП — Обработка ошибок — Библиотеки (с @Grab из груви) — Нет привязки к отдельной машине — Команда parallel() – не нужны связки джобов — Множественные node() в одной задаче — Интерактивные шаги — Устойчивость к рестартам мастера и проблемам с сетью — UI: Pipeline Stage View, Blue Ocean 24
  • 25. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Пример. CD Jenkins-бота def imageName = 'jenkinsciinfra/ircbot’ node('docker') { checkout scm // Немного магии для получения тэга Docker-образа sh 'git rev-parse HEAD > GIT_COMMIT' commit = readFile('GIT_COMMIT').take(6) def imageTag = "build${commit}" stage 'Build ircbot' withMavenEnv (["BUILD_NUMBER=${env.BUILD_NUMBER}:${commit}"]) { 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 Слишком сложно? • Snippet Generator • Pipeline Model Definition • Travis YML Converter
  • 26. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 — https://jenkins.io/doc/ — Мои предыдущие доклады: — Митапы по Jenkins в СПб — QA:Conference: — “Jenkins 2 для автоматизаторов”: — http://bit.ly/jenkins2-qaconf — SQADays: — “Jenkins 2.0: Организуем тестирование в составе CD” — http://sqadays.com/ru/index?eventId=38947 Подробнее о Pipeline 26
  • 27. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Итак, а что с Community? — Многие были недовольны подходом в Jenkins 2.0 — Недостаточно изменений в архитектуре — Нет желаемых хотелок — Мало внимания уделено Contributor Experience — НО: — Jenkins 2.0 != Jenkins 2 — Многие TODO реализуются в Jenkins 2.x — Jenkins 3 – пара лет 27
  • 28. Jenkins 2. Дальнейшие Планы • Развитие экосистемы Pipeline • UI/UX, BlueOcean • Внешнее хранилище данных • Инфраструктура 28
  • 29. UI/UX • Новый JavaScript-фреймворк для создания UI в Jenkins • Node.js, React, интеграция в механизм плагинов • Улучшение UI в ядре • Доработка страниц навигации и настройки задач • Оптимизация «тяжелых элементов» - очередь, история сборок и пр. • BlueOcean – попытка сделать новый UI 29
  • 30. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Blue Ocean — Новый Web UI для Jenkins — Фокус – Jenkins Pipeline 30 https://jenkins.io/projects/blueocean/
  • 31. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Масштабирование и надежность — Pluggable Storage — Использование внешних хранилищ данных — Минимизация использования диска и сети — External Logging – Logstash и Co — Улучшение механизма коммуникации с агентами — Remoting 3 / JNLP4 — Диагностика агентов в случае отказов — Возможность обновления Remoting без апдейта ядра 31
  • 32. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 — Было: “сапожник без сапог” — Партнерство с Azure — https://jenkins.io/blog/2016/05/18/announcing-azure- partnership/ — Планы: — Релиз-flow без человеческого фактора — Переезд на Azure – больше ресурсов — Переезд с jenkins.ci.cloudbees.com на OSS-only инфраструктуру Jenkins 2. Инфраструктура 32
  • 33. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 — Интеграция нового parent POM в плагины — POM больше не привязан к версии ядра => можно обновлять flow без ядра — Статический анализ – хотя бы FindBugs в автосбрках — Доработка — Acceptance Test Harness и Plugin Compatibility фреймворков Jenkins 2. Качество 33
  • 34. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Архитектурные изменение Jenkins — Основные кандидаты: — Механизм устаревания API — Pluggable Storage - подключение внешних хранилищ — Логи, Артефакты, конфиги, … — Горизонтальное масштабирование — Переработка remoting – переезд коммуникаций на стандартную open-source шину — Stay tuned! 34
  • 35. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Выводы 1. Jenkins продолжает развиваться 2. Jenkins 2 – не просто маркетинговый релиз 3. Обновляться надо — Гайды по апгрейду – на сайте 4. Стоит попробовать: — Jenkins Pipeline / Multi-Branch Pipeline — BlueOcean 35
  • 36. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Хотите узнать больше? — Jenkins Moscow Meetup, 2 ноября, 19:00 — http://www.meetup.com/Moscow-Jenkins- Meetup/events/235107785/ — Олег Ненашев — Jenkins 2.x. Что Дальше? — Кирилл Толкачев, — CD with Jenkins: Lessons Learned — Mr. TBD 36 Офис Deutsche Bank, Беговая 3 стр. 1, 27 этаж
  • 37. @oleg_nenashev, #jenkinsci, #jenkins_ru, #cee_secr Октябрь 2016 Вопросы? Offline: http://gitter.im/jenkinsci-ru Контакты: E-mail: onenashev@cloudbees.com GitHub: oleg-nenashev Twitter: @oleg_nenashev Ссылки: • jenkins.io • cloudbees.com • go.cloudbees.com