[javascript.ninja] CI/CD для frontend-инженера (2021)
Автор: javascript.ninja
Название: CI/CD для frontend-инженера (2021)
DevOps - это прежде всего культура, а не должность. Эффективное понимание DevOps-процессов резко повышает вашу ценность для компании, а CI/CD - сердце DevOps
Основано на реальных событиях
Мы работаем в GitLab и строим (по нашему мнению) одну из мощнейших CI/CD систем в мире. Мы противники 'голосов в голове' и рассказываем только свой практический опыт
Более 30 видео с теорией и принципами
Наша задача - не просто показать вам copy-paste заклинаний для настройки CI/CD, а дать понимание сути процесса и к чему вы стремитесь
4 семинара с живым общением
В теории, теория и практика не отличаются, но на практике... Пройдите вместе с нами все шаги по настройке CI/CD на примерах, приближенных к реальности
C фокусом на JS. Не только фронт, но и бэк
CI/CD - универсальная штука, не привязанная к языку. Тем не менее, везде есть определенная специфика и нюансы, связанные с инструментами и стеком
Когда мы, независимо друг от друга, выступили на и с докладами схожей тематики, стало понятно, что несмотря на то, что все согласны что «DevOps это культура, а не должность», для рядового javascript-программиста это просто слова. Без серьёзного бэкграунда в администрировании *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 для javascript-проектов
- 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 лежат в разных репозиториях.
Подробнее:
Скачать: