Вводный доклад в Jenkins. Поговорим о том, что представляет из себя этот сервер автоматизации, и о том, как он меняется со временем. Поговорим о Jenkins Pipeline и таких новых проектах, как Jenkins X и Jenkins Essentials.
для описания задач ◦ Хранится в SCM (Jenkinsfile) ◦ Или: определяется в настройках задачи node("linux && java9") { git url:"http://github.com/myorg/myproject.git" sh "make all" } http://bit.ly/pipeline-tutorial 37
не одна задача ◦Для веток и pull request - ОТДЕЛЬНЫЕ задачи ◦ Свои сборки ◦ Своя история ◦ Автоматическая очистка при мердже/удалении ◦Organization Folders – в GitHub/BitBucket 47
задач • Простая настройка • Больше статического анализа • Меньше гибкость L 50 Declarative Pipeline https://github.com/jenkinsci/pipeline- model-definition-plugin/wiki
– загрузка из workspace Начало 2016 • Global Pipeline Library • Pipeline Remote Loader Plugin Конец 2016 • Pipeline Shared Libraries • Управление библиотеками • Поддержка @Grab – можно включать обычные библиотеки Структура: 60
◦Пул агентов (Kubernetes plugin) ◦Шаблоны CI/CD Pipeline (Spring и пр.) ◦Nexus, chartmuseum, monocular ◦Окружения: ◦ Локальное окружение для разработки ◦ Staging ◦ Интеграция с Production ◦Интеграция с IDE 78
◦ Не фреймворк, Ограниченный набор стэков ◦ Документация ◦ Cloud Native: AWS, Docker ◦ Автоматический апгрейд (и откат) ◦ Сбор и репортинг ошибок ◦ CD для компонентов Основы Jenkins Essentials 82