Все занятия проходят в Личном кабинете Слёрма. Вы сами выбираете, где и когда смотреть их. После изучения каждой темы нужно будет выполнить практическое задание на стендах платформы.
Первые 2 темы доступны бесплатно в мини-курсе «Что такое CI/CD?»
Что такое CI/CD и какие проблемы эта методика решает?
- Историческая справка.
- Необходимость автоматизации релизов, тестирования, их повторяемость.
- Ускорение разработки продукта.
- Унификация и мощности для сборки продукта.
Общий принцип работы CI/CD
Поймете, какую роль играет CI/CD в рабочих процессах, и что реализует Gitlab
- Конвейерный метод разработки.
- Пайплайны, билды, артефакты.
- CI и CD (deployment и delivery)
Практика: быстрый старт с Gitlab CI.
Обзор CI-систем
Узнаете об основных игроках, которые предлагают инструменты CI/CD на рынке
- TravisCI, CircleCI.
- Github Actions.
- Jenkins / TeamCity.
- Gitlab CI
Практика: реализация pipeline python в CircleCI, Github Actions, Jenkins, Gitlab CI
Обзор Gitlab, его установка и настройка
Узнаете, из каких компонентов состоит Gitlab, научитесь запускать Gitlab сервер
- Из чего состоит Gitlab, какие у него возможности и компоненты?
- Как установить Gitlab?
- Основные настройки системы Gitlab.
Практика: запуск Gitlab сервера
Ваш первый проект в Gitlab
Узнаете рекомендации по работе с Gitlab после установки: безопасность и обслуживание
- Создаем свой проект в Gitlab.
- Best Practices (учетки пользователей, LDAP-авторизация и т.д.).
Практика: создание простого pipeline
Gitlab Runner и его настройка
Узнаете, что такое runner, как они запускаются
- Задачи и возможности runner.
- Какие есть виды и для каких кейсов они нужны?
- Настройка runner под проект.
Практика: настройка Gitlab runner
Файл .gitlab-ci.yml
Узнаете синтаксические особенности описания Gitlab pipeline и основные возможности
- Для чего этот файл нужен, что из себя представляет?
- Синтаксис, основные подходы. CI Linter от Gitlab.
Практика: создание расширенного пайплайна
Интеграция с Kubernetes
Узнаете, как Gitlab может интегрироваться с Kubernetes, и научитесь разворачивать приложение внутрь кластера
- Авторизация в кластере для раннеров.
- Нативный метод интеграции Gitlab с Kubernetes
Практика: пишем пайплайн по разворачиванию приложения в Kubernetes через Gitlab
Продвинутые приемы работы (и возможности) GitLab CI
Узнаете самые сложные и интересные функциональные возможности в Gitlab
- Include, шаблонизация.
- Работа с переменными.
- Условия работы со stage'ами.
- Зависимости и параллельность stage.
- Работа с инцидентами. Rollback и динамические окружения.
- Добавление в пайплайн возможности Rollback
Практика: чек-лист по удобным снипетам, которые могут быть полезны в реальных проектах
GitOps
Узнаете о подходе GitOps и как его можно реализовать с использованием Gitlab CI
- Push и Pull модель для CI/CD пайплайнов.
- ArgoCD.
Практика: установка и применение ArgoCD
Безопасность в CI/CD
Узнаете, как обеспечить безопасность кода и ваших CI/CD пайлпайнов с помощью GitLab CI
- Секретные переменные.
- Проверка кода на безопасность.
Практика: научимся интегрировать GitLab CI с HashiCorp Vault
Идеальный пайплайн со Слёрм
Закрепим материал на практике и сделаем Production-grade пайплайн, который может служить прототипом на реальных проектах
Пишем настоящий production-ready CI/CD процесс в GitLab CI