Администрирование [javascript.ninja] CI/CD для frontend-инженера (2021)

Tomi 0

Tomi

Редактор
Модератор
Регистрация
07.13.18
Сообщения
11.777
Реакции
225.300
Автор: javascript.ninja
Название: CI/CD для frontend-инженера (2021)

1638194998197.png


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

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

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

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

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

Когда мы, независимо друг от друга, выступили на DevOps.js и HolyJS с докладами схожей тематики, стало понятно, что несмотря на то, что все согласны что «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 лежат в разных репозиториях.

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

Скачать:
Скрытое содержимое могут видеть только члены группы Премиум.