Name Last commit Last update
.idea
files
pics
.gitignore
README.md
task3.1.md

Летняя школа DevOps/DevSecOps 2023 - Инструкция по подготовке к школе. Что нужно установить до начала тренингов, что мы будем изучать

ВАЖНО: подписывайтесь на официальный канал в телеграмм, чтобы не пропустить важную информацию

Обновления

Цель обучения

Освоить современные практики непрерывной интеграции и доставки нового кода (Continuous Integration / Continuous Delivery, CI/CD) на примере технологий GitLab/GitFlow и Docker.

Участники разберутся с принципами CI/CD, научатся создавать пайплайны на примере Gitlab CI, освоят методы и инструменты контейнеризации на примере Docker, научатся строить цепочку поставки, включающую все основные стадии - сборка, тестирование, упаковка, сканирование.

Слушатели получат понимание о современном жизненном цикле безопасной разработки приложений, приобретут навык работы с современными технологиями безопасного тестирования (SAST, DAST) тестирования, сканирования контейнеров и других механизмах безопасности, научатся строить цепочку поставки, включающую все основные стадии - сборка, тестирование, упаковка, сканирование, а также научатся встраивать инструменты тестирования в безопасную цепочку поставки.

Темы

В рамках обучения мы рассматриваем следующие темы:

  • Введение в DevOps/DevSecOps
  • Технологии контейнеризации
  • Обеспечение безопасности контейнеров
  • Автоматизация цепочки поставки
  • Безопасность цепочки поставки

Программа

Посмотреть программу школы можно здесь

В таблице ниже будут появляться ссылки на трансляции и дополнительные материалы

Дата Время Трансляция Материалы Задание Тренер Срок Блокирующий
03.07.2023 17.00 – 18.20 Введение в DevOps/DevSecOps слайды стартовое тестирование Башун В.В. 03.07.2023 Да
03.07.2023 18.30 – 20.00 Технологии контейнеризации. Практикум слайды тест по командам докер создание простого образа Башун В.В. / Курмашева Т.А. 07.07.2023 Да
05.07.2023 17.00 – 18.20 Создание образов. Продвинутое управление контейнерами слайды Башун В.В. / Курмашева Т.А.
05.07.2023 18.30 – 20.00 Обеспечение безопасности контейнеров слайды упаковка сканера уязвимостей в контейнер Башун В.В. / Курмашева Т.А. 15.07.2023 Да
07.07.2023 17.00 – 18.20 Автоматизация цепочки поставки. CI/CD слайды практическое задание Башун В.В. / Курмашева Т.А. 19.07.2023 Да
07.07.2023 18.30 – 20.00 Безопасность цепочки поставки слайды практическое задание Башун В.В. / Курмашева Т.А. 15.07.2023
Итоговое тестирование 20.07.2023 7:00:00 Да

При выполнении заданий не забывайте пользоваться так же справочными материалами

Требования к участникам

Для прохождения летней школы не требуется сверх-навыков и подготовки, мы начинаем с достаточно базовых вещей.

Однако DevSecOps - это тема на стыке разработки, тестирования, администрирования и безопасности, поэтому некоторый бекграунд все же требуется.

Вы должны уметь работать с linux в командной строке и иметь базовые навыки администрирования. Вам придется устанавливать и настраивать необходимые инструмены для devops и работы с контейнерами.

Вы должны иметь базовые навыки разработки на каком то языке и точно должны уметь читать программный код.

Базовые навыки, такие как работа с системой контроля версий (git) и общее представление о gitflow, так же нужны.

Не стесняйтесь пользоваться справочными материалами, а так же загляните в раздел самоподготовка

Самоподготовка

Чтобы помочь вам освежить базовые навыки, мы подготовили несколько дополнительных материалов.

git

Инструменты совместной работы (git) является одной из тем, которые мы рассматриваем, но предполагается, что вы знаете основы работы с git.

Некоторые базовые вещи разбираются в этом видео

Пожалуйста, ознакомьтесь с ним заранее, если у вас нет большого опыта работы с git.

Если у вас нет опыта командной работы, вы не знаете про ветки и gitflow (и у вас много свободного времени), можно так же посмотреть долгий материал Основы Git. Основные операции. Мастер-класс «Ветвление в Git и управление ветками».

Вам так же надо будет установить клиент git на той платформе, где вы будете практиковаться. Как это сделать - см. раздел необходимое ПО

docker

Вы пока не знаете ничего про докер, но вам нужно его поставить заранее (в том числе, чтобы пройти стартовое тестирование) Если вы ранее не ставили себе docker, посмотрите небольшое начальное видео

Стартовое тестирование

Пожалуйста, попробуйте свои силы и пройдите стартовое тестирование

Не пугайтесь, если не знаете как ответить на вопрос. В части вопросов по докеру, пожалуйста, ознакомьтесь с начальным видео и установите себе на платформу докер

Необходимые действия

  1. Вам необходимо зарегистрироваться на платформе GitLab (DevSecOps platform)
  • Все задания, требующие использования репозитория и запуска CI/CD пайплайнов, будет делать на этой платформе.
  1. Вам необходимо зарегистрироваться на Docker Hub
  • Сюда мы будет загружать полученные образы контейнеров.

Необходимое ПО

Для выполнения практических заданий вам понадобится подготовить свой компьютер, установив на него необходимое программное обеспечение.

Мы рекомендуем использовать docker под ОС Linux (если у вас другая ОС, можно развернуть ее, например, в virtual box). Общая рекомендация - для выполнения заданий поднимите виртуальную машину linux (например ubuntu) и в ней уже установите docker.

  • Клиент git. Интструкция по установке.
  • Docker (или другое CRI-совместимое решение). Инструкция по установке
  • Рекомендуем Вам установить Python3 и среду разработки к нему для выполнения домашних заданий.
    • Если Вы планируете использовать другой язык -- предустановите его
  • gitlab-runner. Он вам понадобится ближе к третьему дню летней школы, но не забудьте его установить и настроить.

Учебные примеры

Учебные примеры с занятий доступны здесь

Полезные ссылки и документация

Материалы по Git

Материалы по Gitlab

Материалы по Docker

Установка gitlab-runner

Пожалуйста, ознакомьтесь с инструкцией по утановке gitlab runner

Мы настоятельно рекомендует устанавливать раннер в контейнере docker, с подключением docker volume. Так же пользуйтесь официальной документацией:

Авторы

В. Башун, Т. Курмашева.

Контакты

Contributing

Мы проводим летние/зимние школы, а так же учебные курсы по темам DevOps/DevSecOps.

Если у вас есть комментарии, замечания или предложения по доработке курсов, пожалуйста, свяжитесь с нами

Если вы готовы сотрудничать или поучаствовать в разработке учебных программ или материалов, будем рады обсудить.