[javascript.ninja] CI/CD для frontend-инженера (2021)

Автор: javascript.ninja
Название: CI/CD для frontend-инженера (2021)

1638194998197


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/':
Теоретические материалы (список предварительный, может изменяться и дополняться)
  1. Понятие CI/CD и зачем оно вообще надо. Метрики успешности вашего CI/CD
  2. Как это работает изнутри “на пальцах”
  3. Базовые понятия CI: pipeline, stage, steps и зависимости между ними
  4. Первые простейший шаги: линтинг кода, форматирование и т.д.
  5. Подготовка проекта на стороне кода (переменные окружения)
  6. Переменные окружения и безопасность проекта
  7. Docker как среда выполнения CI: зачем и что с этим делать
  8. Ручные job - зачем нужны и как с ними жить
  9. Подготовка “железа” для деплоя
  10. Простейший деплой “на железо”
  11. Кеширование и зачем оно применяется
  12. Артефакты и чем они отличаются от кешей. Когда применяются артефакты
  13. Review apps - простейший случай и его ручная реализация
  14. Подводные камни Continuous Delivery для javascript-проектов
  15. Webpack, lazy-load, отсутствующие чанки после деплоя
  16. Страшилки CI/CD - как потерять все или почти все одной строкой
  17. Инструменты о которых мы не поговорили
Семинары
С 0 до первого деплоя

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

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

Мастер-класс 'Продвинутый CI/CD c GitLab':
Tеоретические материалы (список предварительный, может изменяться и дополняться)
  1. Чем плох результат прошлого мастер-класса и как его можно улучшить?
  2. Сборка своих Docker-образов и использование repository (npm, docker, etc.) Почему любые Repository должны быть тесно интегрированы с CI
  3. Сборка зависимых проектов. Общение между пайплайнами (запуск с переменными окружениями)
  4. Как и где можно ускориться если кеширования уже недостаточно (DAG, параллелизация запуска определенных джобов путем разбиения их на куски - на примере jest-тестов)
  5. Максимальная интеграция UI merge request и пайплайна
  6. Когда нужных “интеграций” нет - взаимодействие с API GitLab для реализации своих желаний
  7. Место Kubernetes в жизни CI/CD и как он облегчает жизнь
  8. Самый маленький креш-курс Kubernetes для деплоя в мире
  9. Почему Helm это важно?
  10. Организация blue/green deployment
  11. Премиум плюшки GitLab про CI и какие боли они решают
Семинары
Семинар 'Турбо-пайплайн с GitLab'

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

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

Подробнее:
Для просмотра содержимого вам необходимо .

Скачать: