Name Last commit Last update
files
README.md

Летняя школа DevOps/DevSecOps 2024

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

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

Обновления

  • добавлены ссылки на дни 1-3
  • добавлены записи дни 4-5, материалы
  • добавлены слайды день 5, день 6

Темы

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

Дата Тема Трансляция Материалы Задание Преподаватель Срок
19.08.2024 Введение в контейнеры vk, rutube слайды тест, задание по созданию простого образа Шадрунов А. С. 26.08.2024
20.08.2024 Безопасность контейнеров vk, rutube слайды тест, задание по сканеру образов Шадрунов А. С. 28.08.2024
21.08.2024 Введение в DevOps vk, rutube слайды Бакин А. М.
22.08.2024 Моделирование угроз vk, rutube слайды по желанию Бакин А. М. 06.09.2024
23.08.2024 Безопасная разработка ПО vk, rutube слайды, слайды 2 Елаев С. Ю.
26.08.2024 Фреймворки зрелости SSDLC vk, rutube слайды задание Бакин А. М. 06.09.2024
27.08.2024 Kubernetes - Введение vk, rutube слайды задание Панасюк Е. В. 06.09.2024
28.08.2024 Kubernetes - API, основные обьекты, контроллеры vk, rutube слайды Панасюк Е. В.
29.08.2024 Kubernetes - Сети vk, rutube слайды задание Панасюк Е. В. 06.09.2024

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

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

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

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

Программа

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

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

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

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

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

Однако 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.

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

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

photo_2023-07-21_19-01-33.jpg