В презентации рассказано о проекте по разработке Jenkins 2.0, причинах его разработки и текущем статусе. В отдельности рассмотрена экосистема Pipeline-as-Code, которая уже.доступна для Jenkins 1.609.1+
Появление Hudson (Sun) • 2008 – Популяризация, Duke's Choice Award • 2011 – Конфликт с Oracle, форк Jenkins • Лицензия: MIT (ядро) • https://github.com/jenkinsci/ 6
документацию? Как найти/выбрать плагин? А этот плагин вообще живой? Как ЭТО настроить? Почему мой фикс не смотрят? Почему UI неудобен? Как мне это реализовать?
Нода 2 Нода N . . . • Мастер решает большую часть задач • Удалённые задачи ВСЕГДА нагружают мастер • Ввод-‐вывод на мастере Multi-‐ tenancy ??? Gearman CloudBees Jenkins Platform
о Hudson 2.0 Hudson 2.0 is expected to follow in the intrepid footsteps of other major revamps such as Netscape 5 and Perl 6 in its ambitiousness and innovation. Implementation of core in portable C for greater speed and code readability Revamped storage architecture around the Oracle 11g Database to provide more optimal synergy over flat XML files. https://jenkins-‐ci.org/blog/2010/04/01/announcing-‐the-‐hudson-‐2-‐0-‐roadmap/ Perl 6, 2016 Hudson 2.0, ?
1.x “Jenkins N.x” Jenkins 2.x Середина 2016 Конец 2016 (?) • Веб-‐сайт • Фокус на UX и инфраструктуре • Минимальные нарушения совместимости • Архитектурные изменения • Как минимум 1 LTS-‐линейка
установки •Улучшение веб-‐интерфейсов (конфиги и пр.) •Обновление WebUI-‐библиотек •SECURITY by default •Механизм устаревания и удаления API 22 Jenkins 2.0. Что в ядре? http://bit.ly/jenkins20
•Статический web-‐site, исходники на GitHub ⇒Проще управлять контентом (CD!) ⇒Любой может прислать pull-‐request •Переработка контента •Структурирование информации •БОЛЬШЕ информации •Выход за пределы Continuous Integration 25 Jenkins 2.0. Веб-‐сайт http://bit.ly/jenkins20
задач можно хранить в SCM •Генератор шаблонов в UI •Пользователь настраивает шаг сборки в UI •Jenkins генерит код для Pipeline •Параллелизация •Команда parallel() – не нужны связки джобов 39 Фичи Pipeline
задачи – ссылка на репозиторий (Git/GitHub, BitBucket, …) •Jenkins берёт конфиги из Jenkinsfile •Для всех бренчей Jenkins создает ОТДЕЛЬНЫЕ задачи со сборками при коммитах и репортингом •[СКОРО] – Сборка и репортинг pull-‐requests •(+) Тоже самое на уровне организаций в GitHub и BitBucket 42 Фичи Pipeline. Multi-‐Branch
из файла •CPS Global library • Входит в состав ядра Pipeline plugin • Создает Git-‐репозиторий в Jenkins • Определяет глобальные функции, классы и переменные •Pipeline Remote Loader • https://github.com/jenkinsci/workflow-‐remote-‐loader-‐plugin • Загрузка кода Pipeline из Git/GitHub • Логика плагина написана на Pipeline 44 Фичи. Шаринг кода между задачами
steps. • IDE auto-‐completion too! • Intellij GDSL working now. • Eclipse DSLD…not currently working, but waiting to be fixed. • Documentation currently available within Jenkins help links, will also be made available on Jenkins website soon. • Polish of the docs page in the works as well. 48 Скоро