Программа и содержание

DevOps - это прежде всего культура, а не должность. Эффективное понимание DevOps-процессов резко повышает вашу ценность для компании, а CI/CD - сердце DevOps

Основано на реальных событиях

Мы работаем в GitLab и строим (по нашему мнению) одну из мощнейших CI/CD систем в мире. Мы противники \"голосов в голове\" и рассказываем только свой практический опыт

Более 30 видео с теорией и принципами

Наша задача - не просто показать вам copy-paste заклинаний для настройки CI/CD, а дать понимание сути процесса и к чему вы стремитесь

4 семинара с живым общением

В теории, теория и практика не отличаются, но на практике... Пройдите вместе с нами все шаги по настройке CI/CD на примерах, приближенных к реальности

C фокусом на JS. Не только фронт, но и бэк

CI/CD - универсальная штука, не привязанная к языку. Тем не менее, везде есть определенная специфика и нюансы, связанные с инструментами и стеком

Когда мы, независимо друг от друга, выступили на DevOps.js и HolyJS с докладами схожей тематики, стало понятно, что несмотря на то, что все согласны что «DevOps это культура, а не должность», для рядового jаvascript-программиста это просто слова. Без серьёзного бэкграунда в администрировании *nix-систем продвинуться куда-то дальше стандартного \"eslint - docker - docker registry\" пайплайна если не невозможно, то очень сложно. Без полного осознания того, что и зачем мы делаем - даже составить правильный запрос в Google может быть непростой задачей, не говоря уже об оптимизации полученного результата и отладке ошибок, неизбежно возникающих в процессе.

О структуре мастер-классов

Наша задача - не продать вам GitLab (более того, везде где GitLab будет упоминаться - фокус на бесплатной версии), а дать фундаментальную базу по организации CI/CD в проектах любой сложности

Фактически, мы хотим если не сделать вас и ваш проект Elite DevOps performer, то приблизить к этому, дав четкое понимание, как необходимо строить pipeline, шаг за шагом улучшая его качество, какие проблемы предстоит решить и где есть потенциал для развития.

Мы осознаем, что проходить путь \"from zero to hero\" за один раз может быть очень больно, более того, - возможно по независящим от вас причинам, вы не можете выбрать GitLab как платформу для вашего CI/CD. Для этого мы разбили весь контент на два мастер-класса - вводный, где мы рассматриваем основные принципы построения без привязки к конкретной платформе, и продвинутый, где используя конкретные инструменты предлагаемые GitLab и не только вы можете достичь \"DevOps-зрелости\"

Мастер-класс \"Введение в CI/CD/\":

Теоретические материалы (список предварительный, может изменяться и дополняться)

Понятие CI/CD и зачем оно вообще надо. Метрики успешности вашего CI/CD

Как это работает изнутри “на пальцах”

Базовые понятия CI: pipeline, stage, steps и зависимости между ними

Первые простейший шаги: линтинг кода, форматирование и т.д.

Подготовка проекта на стороне кода (переменные окружения)

Переменные окружения и безопасность проекта

Docker как среда выполнения CI: зачем и что с этим делать

Ручные job - зачем нужны и как с ними жить

Подготовка “железа” для деплоя

Простейший деплой “на железо”

Кеширование и зачем оно применяется

Артефакты и чем они отличаются от кешей. Когда применяются артефакты

Review apps - простейший случай и его ручная реализация

Подводные камни Continuous Delivery для jаvascript-проектов

Webpack, lazy-load, отсутствующие чанки после деплоя

Страшилки CI/CD - как потерять все или почти все одной строкой

Инструменты о которых мы не поговорили

Семинары

С 0 до первого деплоя

Развертывание и организация CI/CD проект на node.js + frontend c нуля (чистого сервера) до автоматизированного деплоя на \"железо\"

CI/CD для командной работы

Оптимизация скорости и надежности пайплайна, разработанного на первом семинаре, добавление новых возможностей: просмотра изменений, сделанных в конкретных ветках.

Мастер-класс \"Продвинутый CI/CD c GitLab\":

Tеоретические материалы (список предварительный, может изменяться и дополняться)

Чем плох результат прошлого мастер-класса и как его можно улучшить?

Сборка своих Docker-образов и использование repository (npm, docker, etc.) Почему любые Repository должны быть тесно интегрированы с CI

Сборка зависимых проектов. Общение между пайплайнами (запуск с переменными окружениями)

Как и где можно ускориться если кеширования уже недостаточно (DAG, параллелизация запуска определенных джобов путем разбиения их на куски - на примере jest-тестов)

Максимальная интеграция UI merge request и пайплайна

Когда нужных “интеграций” нет - взаимодействие с API GitLab для реализации своих желаний

Место Kubernetes в жизни CI/CD и как он облегчает жизнь

Самый маленький креш-курс Kubernetes для деплоя в мире

Почему Helm это важно?

Организация blue/green deployment

Премиум плюшки GitLab про CI и какие боли они решают

Семинары

Семинар \"Турбо-пайплайн с GitLab\"

Скорость - не единственная характеристика эффективного CI/CD. Мы воспользуемся всеми инструментами, которые предлагает нам DevOps-экосистема в целом и GitLab в частности, чтобы сделать pipeline которым можно гордиться

Семинар \"Kubernetes и CI/CD\"

Kubernetes стал мейнстримом облачного мира. Мы воспользуемся им, чтобы отправить наш код в облака и все это - под управлением pipeline и из максимально \"неудобного положения\" - когда frontend и backend лежат в разных репозиториях.