Основы CI/CD
Вы узнаете, какую область проблем позволяет решить CI/CD. Сможете сопоставить текущие проблемы в своей работе с функционалом CI/CD.
Теория:
- История CI/CD
- Необходимость использования, повторяемость сборок
- Цикл обратной связи
- Энтропия без автоматизации(человеческие ошибки)
- Best practices
- Как делать не нужно
Основы Jenkins
Вы поймёте логику чужих архитектурных решений и разберётесь со структурой каталогов в Jenkins. Научитесь устанавливать Jenkins и производить базовую конфигурацию.
Теория:
- Какие проблемы решает Jenkins.
- Верхнеуровневая архитектура — master-slave
- Структура каталога в Jenkins master (credentials, workspace, logs)
- Установка сервера на Linux (centos)
- Разные варианты запуска Linux в Docker
Практика:
- Установка и настройка сервера Jenkins любым из рассмотренных на уроке способов
Администрирование Jenkins
Вы научитесь устанавливать плагины и делать базовую конфигурацию, добавлять дополнительные рабочие ноды и настраивать configuration tools. Поймёте, как создавать credentials и разграничивать права доступа в Jenkins.
Теория:
- Добавление slave агентов
- Работа с Tools
- Безопасность в Jenkins
- Способы разграничения прав
- Зачем нужны плагины и варианты их установки.
Практика:
- Установка плагина и настройка дополнительного Tools. Добавление токена GitLab в credentials.
Deployment (2 урока)
Вы научитесь выбирать нужный тип пайплайна для организации процесса CI/CD, настраивать рабочее окружение для разработки и тестирования пайплайна. Поймёте, как создавать job с параметрами, freestyle job, declarative pipeline, scripted pipeline.
Теория:
- Типы пайплайнов
- VScode + IdeaIJ
- Active reactive + extended choice с груви скриптами
Практика:
Интеграции c Jenkins
Вы научитесь настраивать интеграцию пайплайна с SAST Sonarqube и нотификацию на e-mail, Telegram и Slack.
Теория:
- Интеграцию с Sonarqube: что это и зачем
- Интеграцию с jforg: что это и зачем
- Способы нотификаций о результатах выполнения пайплайна
Практика:
- Настройка пайплайна с отправкой результатов
Разработка в Jenkins
Вы узнаете области применения Jenkins Shared Library и Jenkins Template Engine, научитесь создавать простую JSL.
Теория:
- Разберём на примерах два подхода:
- Jenkins Shared Library и Jenkins Template Engine
Практика:
- Создание простой библиотеки Jenkins Shared Library
Лучшие практики
Вы научитесь настраивать пайплайн с использованием Blue Ocean и создавать конфигурацию Jenkins As a Code.
Теория:
- DevOps way в хранении конфигурации Jenkins
Практика:
- Настройка пайплайна с использованием Blue Ocean
- Создание конфигурации как кода и установка из неё Jenkins
Jenkins в Kubernetes
Вы научитесь настраивать интеграцию Jenkins и Kubernetes. Поймёте, как настроить пайплайн на использование динамических агентов в Kubernetes.
Теория:
- Интеграция Jenkins и Kubernetes
Практика:
- Настройка интеграции в Kubernetes
- Настройка пайплайна с использованием динамических агентов
Подготовка к экзамену
Вы рассмотрите несколько вариантов заданий, которые могут быть на собеседованиях.
Итоговое задание
Вы получите 2−3 репозитория (frontend и backend). Задача — проработать процесс CI/CD. Задание поможет определить уровень роста навыков.