О чём курс
Тренинг является прекрасным практическим введением в методологию автоматизации технологических процессов сборки, настройки и развёртывания программного обеспечения – DevOps. Эта методология чрезвычайно популярна, поскольку способствует быстрому выпуску сложных проектов с высоким качеством.
В первой части обсуждаются общие моменты по проведению тренинга, сбор вопросов и ожиданий.
Во второй части рассматривается версионный контроль – для чего нужно отслеживать изменения, как происходила эволюция этих систем и какие знаковые системы есть и были. Слушатели познакомятся с Git и с тем, как его можно использовать для ведения контроля версий, а также что такое инспекция кода и что такое pull/merge request. Важной частью является обзор рабочих процессов (workflow) при версионировании.
В третьей части рассматривается непрерывная интеграция. Вы познакомитесь с конвейером сборки, его основными этапами, получите советы и рекомендации по его построению. Рассмотрим, какие типовые проблемы возникают при совместной разработке и чем хорош Jenkins, как пример инструмента непрерывной интеграции. Обсудим возможности контейнеризации – почему Docker популярен, какие ограничения накладывают контейнеры и какие преимущества предоставляют, чем они лучше виртуальных машин. Посмотрите на запуск приложений и служб в контейнерах и поймёте, как строятся образы.
В четвёртой части сфокусируемся на непрерывной поставке и развёртыванию, какие новые шаги появляются в конвейеры сборки поставки. Какие трудности могут встретиться и что с ними делать. Какие требования накладываются на архитектуру приложений, чтобы организовать непрерывную поставку, в каких форматах делать поставку и почему, как версионировать артефакты и какую пользую это приносит. Рассмотрим разные типы окружений и узнаем зачем они нужны, как избежать изменений и сделать процессы более стабильными. Посмотрим на подходы к выкатке обновлений приложений на примере Kubernetes.
Пятая часть – заключительная. Здесь подводятся итоги тренинга, обсуждаются дальнейшие шаги в DevOps.
Цели
Цель тренинга – познакомиться с практиками непрерывной интеграции (Continuous Integration), непрерывной поставки (Continuous Delivery) и развёртывания (Continuous Deployment), разобрать возможности и трудности. Построить конвейеры разработки и улучшать их новыми возможностями.
Целевая аудитория
Разработчики, тестировщики, системные администраторы.
Предварительная подготовка
Базовое понимание процесса разработки ПО, базовые навыки программирования.
Для кого
Разработчик
Тестировщик
Системный администратор
Улучшаемые навыки
Понимание принципов DevOps
Настройка процессов непрерывной интеграции (CI
Разработка процессов непрерывной доставки (CD
Мониторинг и управление производительностью
Работа с контейнерами и оркестрацией
Расписание курсов
Программа курса
01
Информация по тренингу
Знакомство.
Описание разделов.
Общие моменты по проведению.
02
Версионный контроль (теория - 1 ч, практика - 1 ч)
Отслеживание изменений.
Эволюция и знаковые систем контроля версий.
Обзор и введение Git.
Инспекция кода (code review).
Рабочие процессы при версионировании (workflow).
03
Непрерывная интеграция (теория - 0,75 ч, практика - 1 ч)
Типовые проблемы при совместной разработке.
Конвейер (pipeline) и основные этапы.
Лучшие практики.
Популярные инструменты.
Виды артефактов.
Введение в Docker: запуск приложений в контейнерах, построение образов.
Введение в Jenkins.
04
Непрерывная поставка и развёртывание (теория - 1,33 ч, практика - 2,5 ч)
- Определение, цели и задачи.
- Конвейер поставки.
- Основные трудности.
- Требования к приложениям.
- Версионирование артефактов.
- Решение проблем с изменением окружений.
- Обновление и откат приложений.
- Развёртывание приложений в Kubernetes и доступ через сервисы.
05
Завершение (теория - 0,5 ч)
Подведение итогов.
Обсуждение других практик.
Что может быть дальше.
Чему вы научитесь
01
Научитесь основным принципам и философии DevOps, включая сотрудничество между командами разработки и операций
02
Освоите методы настройки процессов непрерывной интеграции с использованием инструментов
03
Научитесь разрабатывать процессы непрерывной доставки, включая автоматизацию развертывания приложений на различных средах
04
Освоите методы мониторинга производительности приложений и инфраструктуры, используя инструменты
05
Научитесь использовать контейнеризацию с помощью Docker и управление контейнерами с помощью оркестраторов, таких как Kubernetes
Курс проводят
Буравцов Евгений
Специалист в области DevOps