[OTUS] CI/CD на AWS, Azure и Gitlab. Модуль 1 [Игорь Саблин]

195

Практический интенсивный курс по популярной методике непрерывной разработки и поставки программного обеспечения Continuous Integration и Continuous Delivery на разных платформах Amazon Web Service, Azure, GitLab и Jenkins
Цель курса:

  • сформировать понимание архитектуры облачных провайдеров
  • научить настройке процесса сборки и тестирования приложения
  • изучить автоматизацию анализа кода и поиска уязвимостей
  • настраивать процесс установки приложения
  • и все это у трех крупнейших провайдеров!

Курс будет интересен как разработчикам, так и инженерам, отвечающим за настройку процессов непрерывной разработки и доставки (continuous integration / continuous delivery).
В качестве выпускной работы вам будет предложено реализовать процессы CI/CD для любого opensource-проекта на ваш выбор. При затруднении с выбором вам будет предложено несколько вариантов проектов.
Минимальное количество реализованных этапов CI/CD:

  • сборка проекта
  • модульное и end-to-end тестирование
  • статический анализ качества кода
  • SAST
  • установка на тестовое окружение для ревью изменений
  • нагрузочное тестирование
  • установка в промышленное окружение

Программа курса:
1 Разработка в облаке (Code)

  • СУБД, поддерживающие SQL
  • Введение в архитектуру, знакомство с демо-проектом
  • Знакомство с моделями Workflow (git flow ,trunk-based идругие)
  • Настройка учетных записей
  • Настройка репозиториев кода, миграция с других решений
  • Знакомство с IDE в облаке
  • Работа с агентами сборки
  • Хранилища артефактов

2 Автоматизация сборки и тестирования (Continuous Integration)

  • Первый pipline (вручную и не только)
  • Запуск модульны хтестов
  • Статическая проверка качества кода
  • Проверка кода на кибербезопасность
  • Интерграция Jenkins c облачными провайдерами, k8s,интеграция с gitlab и github
  • Проверка на лицензионную чистоту
  • Настройка окружения для Code Review

3 Автоматизация установки (Continuous Delivery)

  • Работа с секретами
  • Стратегии развертывания (Fail fast,Canary deployment, Feature flags)
  • Установка в базу данных
  • Инсталляция web-приложения
  • Установка приложения в докер-образе
  • Установка в Kubernetes
  • Мониторинг работы приложения

4 Итоговый модуль

  • консультация по проекту
  • Итоговое занятие