Тренинг является прекрасным практическим введением в методологию автоматизации технологических процессов сборки, настройки и развёртывания программного обеспечения – DevOps. Эта методология чрезвычайно популярна, поскольку способствует быстрому выпуску сложных проектов с высоким качеством.
В первой части обсуждаются общие моменты по проведению тренинга, сбор вопросов и ожиданий.
Во второй части рассматривается версионный контроль – для чего нужно отслеживать изменения, как происходила эволюция этих систем и какие знаковые системы есть и были. Слушатели познакомятся с Git и с тем, как его можно использовать для ведения контроля версий, а также что такое инспекция кода и что такое pull/merge request. Важной частью является обзор рабочих процессов (workflow) при версионировании.
В третьей части рассматривается непрерывная интеграция. Вы познакомитесь с конвейером сборки, его основными этапами, получите советы и рекомендации по его построению. Рассмотрим, какие типовые проблемы возникают при совместной разработке и чем хорош Jenkins, как пример инструмента непрерывной интеграции. Обсудим возможности контейнеризации – почему Docker популярен, какие ограничения накладывают контейнеры и какие преимущества предоставляют, чем они лучше виртуальных машин. Посмотрите на запуск приложений и служб в контейнерах и поймёте, как строятся образы.
В четвёртой части сфокусируемся на непрерывной поставке и развёртыванию, какие новые шаги появляются в конвейеры сборки поставки. Какие трудности могут встретиться и что с ними делать. Какие требования накладываются на архитектуру приложений, чтобы организовать непрерывную поставку, в каких форматах делать поставку и почему, как версионировать артефакты и какую пользую это приносит. Рассмотрим разные типы окружений и узнаем зачем они нужны, как избежать изменений и сделать процессы более стабильными. Посмотрим на подходы к выкатке обновлений приложений на примере Kubernetes.
Пятая часть – заключительная. Здесь подводятся итоги тренинга, обсуждаются дальнейшие шаги в DevOps.
Цель тренинга – познакомиться с практиками непрерывной интеграции (Continuous Integration), непрерывной поставки (Continuous Delivery) и развёртывания (Continuous Deployment), разобрать возможности и трудности. Построить конвейеры разработки и улучшать их новыми возможностями.
Целевая аудитория:
Разработчики, тестировщики, системные администраторы.
Предварительная подготовка
Базовое понимание процесса разработки ПО, базовые навыки программирования.