From 81ed0c401a177d842ae457f9794870a617355a2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=B0=D1=88=D1=83=D0=BD=20=D0=92=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=B8=D0=BC=D0=B8=D1=80=20=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= <vbashun@hse.ru> Date: Sun, 4 Aug 2024 18:44:02 +0000 Subject: [PATCH] Upload New File --- README.md | 182 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..21b97fc --- /dev/null +++ b/README.md @@ -0,0 +1,182 @@ +# Летняя школа DevOps/DevSecOps 2023 - Рнструкция РїРѕ подготовке Рє школе. Что РЅСѓР¶РЅРѕ установить РґРѕ начала тренингов, что РјС‹ будем изучать + +**Р’РђР–РќРћ:** подписывайтесь РЅР° [официальный канал](https://t.me/+5USjxpz4RU8yNTIy) РІ телеграмм, чтобы РЅРµ пропустить важную информацию + +## Обновления + +- [добавлены ссылки](#программа) РЅР° трансляции первого РґРЅСЏ: [часть 1](https://youtube.com/live/SXDMqgUalnQ?feature=share), [часть 2](https://youtube.com/live/5NDAId35gpY?feature=share) +- добавлено задание первого РґРЅСЏ: [тест РїРѕ командам докер](https://forms.yandex.ru/u/64a1d7e2eb61466cf9722807/) Рё отработка практики - [создание простого образа](https://forms.yandex.ru/u/64a39f7f3e9d08a0ba6da987/) +- обратите внимание: добавлен раздел [Необходимые действия](#необходимые-действия). Обязательно ознакомьтесь +- [добавлены презентации](#программа) первого РґРЅСЏ +- [добавлены ссылки](#программа) РЅР° трансляции второго РґРЅСЏ: [часть 1](https://youtube.com/live/hnvUaxuspU8?feature=share), [часть 2](https://www.youtube.com/live/hnvUaxuspU8?feature=share&t=7171) +- добавлен раздел [учебные примеры](#учебные-примеры) РіРґРµ доступны демо приложения, которые разбирались РЅР° занятиях +- [добавлены ссылки](#программа) РЅР° трансляции третьего РґРЅСЏ: [часть 1](https://youtube.com/live/LszI5cYJH68?feature=share), [часть 2](https://youtube.com/live/_yKJgnJxQS0?feature=share) +- добавлены слайды (Gitlab CI), инструкция РїРѕ [установке раннера](#установка-gitlab-runner) Р° так Р¶Рµ [учебный пример РїРѕ лекции CI](https://git.miem.hse.ru/devops_public/examples/demo-ci) +- [добавлены презентации](#программа) второго РґРЅСЏ +- [добавлены презентации](#программа) третьего РґРЅСЏ +- добавлено задание [РїРѕ упаковке сканера уязвимостей РІ контейнер](https://forms.yandex.ru/u/64ac3f92f47e73a811e9cec6/) +- добавлено задание [РїРѕ исследованию образа](https://forms.yandex.ru/u/64ac40c4c09c027f08786092/) + +## Цель обучения + +Освоить современные практики непрерывной интеграции Рё доставки РЅРѕРІРѕРіРѕ РєРѕРґР° (Continuous Integration / Continuous Delivery, CI/CD) РЅР° примере технологий GitLab/GitFlow Рё Docker. + +Участники разберутся СЃ принципами CI/CD, научатся создавать пайплайны РЅР° примере Gitlab CI, РѕСЃРІРѕСЏС‚ методы Рё инструменты контейнеризации РЅР° примере Docker, научатся строить цепочку поставки, включающую РІСЃРµ основные стадии - СЃР±РѕСЂРєР°, тестирование, упаковка, сканирование. + +Слушатели получат понимание Рѕ современном жизненном цикле безопасной разработки приложений, приобретут навык работы СЃ современными технологиями безопасного тестирования (SAST, DAST) тестирования, сканирования контейнеров Рё РґСЂСѓРіРёС… механизмах безопасности, научатся строить цепочку поставки, включающую РІСЃРµ основные стадии - СЃР±РѕСЂРєР°, тестирование, упаковка, сканирование, Р° также научатся встраивать инструменты тестирования РІ безопасную цепочку поставки. + +## Темы + +Р’ рамках обучения РјС‹ рассматриваем следующие темы: + +- [ ] Введение РІ DevOps/DevSecOps +- [ ] Технологии контейнеризации +- [ ] Обеспечение безопасности контейнеров +- [ ] Автоматизация цепочки поставки +- [ ] Безопасность цепочки поставки + +## Программа +Посмотреть программу школы [РјРѕР¶РЅРѕ здесь](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/files/Programm_summer_DevOps_DevSecOps_2023.pdf) + +Р’ таблице РЅРёР¶Рµ Р±СѓРґСѓС‚ появляться ссылки РЅР° трансляции Рё дополнительные материалы + +| Дата | Время | Трансляция | Материалы | Задание | Тренер | РЎСЂРѕРє | Блокирующий | +|------------|---------------|-------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|--------------------|-------------| +| 03.07.2023 | 17.00 – 18.20 | [Введение РІ DevOps/DevSecOps](https://youtube.com/live/SXDMqgUalnQ?feature=share) | [слайды](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/files/1.1%20-%20%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B2%20DevOps-DevSecOps.pdf) | [стартовое тестирование](https://forms.yandex.ru/u/6496fdb73e9d086765be195b/) | Башун Р’.Р’. | 03.07.2023 | Да | +| 03.07.2023 | 18.30 – 20.00 | [Технологии контейнеризации. Практикум](https://youtube.com/live/5NDAId35gpY?feature=share) | [слайды](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/files/1.2%20-%20%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8%20%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8.pdf) | [тест РїРѕ командам докер](https://forms.yandex.ru/u/64a1d7e2eb61466cf9722807/) [создание простого образа](https://forms.yandex.ru/u/64a39f7f3e9d08a0ba6da987/) | Башун Р’.Р’. / Курмашева Рў.Рђ. | 07.07.2023 | Да | +| 05.07.2023 | 17.00 – 18.20 | [Создание образов. Продвинутое управление контейнерами](https://youtube.com/live/hnvUaxuspU8?feature=share) | [слайды](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/files/2.1%20-%20%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2.%20%D0%9F%D1%80%D0%BE%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D0%BE%D0%B5%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0%D0%BC%D0%B8%20(pub).pdf) | | Башун Р’.Р’. / Курмашева Рў.Рђ. | | | +| 05.07.2023 | 18.30 – 20.00 | [Обеспечение безопасности контейнеров](https://www.youtube.com/live/hnvUaxuspU8?feature=share&t=7171) | [слайды](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/files/2.2_-_%D0%9E%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%BE%D0%B2.pptx.pdf) | [упаковка сканера уязвимостей РІ контейнер](https://forms.yandex.ru/u/64ac3f92f47e73a811e9cec6/) | Башун Р’.Р’. / Курмашева Рў.Рђ. | 15.07.2023 | Да | +| 07.07.2023 | 17.00 – 18.20 | [Автоматизация цепочки поставки. CI/CD](https://youtube.com/live/LszI5cYJH68?feature=share) | [слайды](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/files/3.1%20-%20CICD%20(gitlab%20CI).pdf) | [практическое задание](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/task3.1.md) | Башун Р’.Р’. / Курмашева Рў.Рђ. | 19.07.2023 | Да | +| 07.07.2023 | 18.30 – 20.00 | [Безопасность цепочки поставки](https://youtube.com/live/_yKJgnJxQS0?feature=share) | [слайды](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/files/3.2_-_%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D1%86%D0%B5%D0%BF%D0%BE%D1%87%D0%BA%D0%B8_%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8pptx.pdf) | [практическое задание](https://forms.yandex.ru/u/64ac40c4c09c027f08786092/) | Башун Р’.Р’. / Курмашева Рў.Рђ. | 15.07.2023 | | +| | | Ртоговое тестирование | | | | 20.07.2023 7:00:00 | Да | + +РџСЂРё выполнении заданий РЅРµ забывайте пользоваться так Р¶Рµ [справочными материалами](#полезные-ссылки-Рё-документация) + +## Требования Рє участникам + +Для прохождения летней школы РЅРµ требуется сверх-навыков Рё подготовки, РјС‹ начинаем СЃ достаточно базовых вещей. + +Однако DevSecOps - это тема РЅР° стыке разработки, тестирования, администрирования Рё безопасности, поэтому некоторый бекграунд РІСЃРµ Р¶Рµ требуется. + +Р’С‹ должны уметь работать СЃ linux РІ командной строке Рё иметь базовые навыки администрирования. Вам придется устанавливать Рё настраивать необходимые инструмены для devops Рё работы СЃ контейнерами. + +Р’С‹ должны иметь базовые навыки разработки РЅР° каком то языке Рё точно должны уметь читать программный РєРѕРґ. + +Базовые навыки, такие как работа СЃ системой контроля версий (git) Рё общее представление Рѕ gitflow, так Р¶Рµ РЅСѓР¶РЅС‹. + +РќРµ стесняйтесь пользоваться [справочными материалами](#полезные-ссылки-Рё-документация), Р° так Р¶Рµ загляните РІ раздел [самоподготовка](#самоподготовка) + +## Самоподготовка + +Чтобы помочь вам освежить базовые навыки, РјС‹ подготовили несколько дополнительных материалов. + +### git + +Рнструменты совместной работы (git) является РѕРґРЅРѕР№ РёР· тем, которые РјС‹ рассматриваем, РЅРѕ предполагается, что РІС‹ знаете РѕСЃРЅРѕРІС‹ работы СЃ git. + +Некоторые базовые вещи [разбираются РІ этом видео](https://youtu.be/U0yPHH72l1k) + +Пожалуйста, ознакомьтесь СЃ РЅРёРј заранее, если Сѓ вас нет большого опыта работы СЃ git. + +Если Сѓ вас нет опыта командной работы, РІС‹ РЅРµ знаете РїСЂРѕ ветки Рё gitflow (Рё Сѓ вас РјРЅРѕРіРѕ СЃРІРѕР±РѕРґРЅРѕРіРѕ времени), РјРѕР¶РЅРѕ так Р¶Рµ посмотреть долгий материал [РћСЃРЅРѕРІС‹ Git. Основные операции. Мастер-класс «Ветвление РІ Git Рё управление ветками».](https://youtu.be/YyJBk5b9f7Q) + +Вам так Р¶Рµ надо будет установить клиент git РЅР° той платформе, РіРґРµ РІС‹ будете практиковаться. Как это сделать - СЃРј. раздел [необходимое РџРћ](#необходимое-РїРѕ) + +### docker + +Р’С‹ РїРѕРєР° РЅРµ знаете ничего РїСЂРѕ докер, РЅРѕ вам РЅСѓР¶РЅРѕ его поставить заранее (РІ том числе, чтобы пройти [стартовое тестирование](#стартовое-тестирование)) +Если РІС‹ ранее РЅРµ ставили себе docker, посмотрите небольшое [начальное видео](https://youtu.be/uZdH9yg9BQk) + +## Стартовое тестирование + +Пожалуйста, попробуйте СЃРІРѕРё силы Рё пройдите [стартовое тестирование](https://forms.yandex.ru/u/6496fdb73e9d086765be195b/) + +РќРµ пугайтесь, если РЅРµ знаете как ответить РЅР° РІРѕРїСЂРѕСЃ. Р’ части РІРѕРїСЂРѕСЃРѕРІ РїРѕ докеру, пожалуйста, ознакомьтесь СЃ [начальным видео](https://youtu.be/uZdH9yg9BQk) Рё [установите себе РЅР° платформу докер](#тема-docker) + +## Необходимые действия + +1. Вам необходимо зарегистрироваться РЅР° платформе [GitLab (DevSecOps platform)](https://gitlab.com/) + - [ ] Р’СЃРµ задания, требующие использования репозитория Рё запуска CI/CD пайплайнов, будет делать РЅР° этой платформе. + +2. Вам необходимо зарегистрироваться РЅР° [Docker Hub](https://hub.docker.com/) + - [ ] РЎСЋРґР° РјС‹ будет загружать полученные образы контейнеров. + + +## Необходимое РџРћ + +Для выполнения практических заданий вам понадобится подготовить СЃРІРѕР№ компьютер, установив РЅР° него необходимое программное обеспечение. + +РњС‹ рекомендуем использовать docker РїРѕРґ РћРЎ Linux (если Сѓ вас другая РћРЎ, РјРѕР¶РЅРѕ развернуть ее, например, РІ virtual box). +Общая рекомендация - для выполнения заданий поднимите виртуальную машину linux (например ubuntu) Рё РІ ней СѓР¶Рµ установите docker. + +- [ ] Клиент git. [Рнтструкция РїРѕ установке](#тема-git). +- [ ] Docker (или РґСЂСѓРіРѕРµ CRI-совместимое решение). [Рнструкция РїРѕ установке](#тема-docker) +- [ ] Рекомендуем Вам установить Python3 Рё среду разработки Рє нему для выполнения домашних заданий. + - Если Р’С‹ планируете использовать РґСЂСѓРіРѕР№ язык -- предустановите его +- [ ] gitlab-runner. РћРЅ вам понадобится ближе Рє третьему РґРЅСЋ летней школы, РЅРѕ РЅРµ забудьте его [установить Рё настроить](#установка-gitlab-runner). + + +### Учебные примеры + +Учебные примеры СЃ занятий доступны [здесь](https://git.miem.hse.ru/devops_public/examples/) + +- [ ] Демо 1. [Простой пример](https://git.miem.hse.ru/devops_public/examples/demo1) упаковки питон приложения РІ контейнер +- [ ] Демо 2. [Два примера веб-приложения](https://git.miem.hse.ru/devops_public/examples/demo2) РІ контейнер +- [ ] Демо 3. [Многоступенчатая СЃР±РѕСЂРєР°](https://git.miem.hse.ru/devops_public/examples/demo3) РЅР° примере простого go приложения +- [ ] Демо CI. [Учебный пример настройки pipeline](https://git.miem.hse.ru/devops_public/examples/demo-ci) разобранный РЅР° [лекции](https://youtube.com/live/LszI5cYJH68?feature=share) + +### Полезные ссылки Рё документация + +#### Материалы РїРѕ Git + +- Установка git client + - [Установка Git](https://git-scm.com/book/ru/v2/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-Git) + - [Getting started](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) + - [Установка РЅР° windows](https://git-scm.com/download/win) + +- [РљРЅРёРіР° РїРѕ Git. РњРЅРѕРіРѕ информации](https://git-scm.com/book/ru/v2/) + +#### Материалы РїРѕ Gitlab + +- [Run GitLab Runner in a container](https://docs.gitlab.com/runner/install/docker.html) +- [Регистрация раннера](https://docs.gitlab.com/runner/register/index.html#docker) + +#### Материалы РїРѕ Docker + +- [Основная документация Docker](https://docs.docker.com/) +- [Установка Docker](https://docs.docker.com/engine/install/) +- [Docker getting started](https://docs.docker.com/get-started/) +- [Справка РїРѕ написанию Dockerfile](https://docs.docker.com/engine/reference/builder/) +- [Запуск команды РІ контейнере](https://docs.docker.com/engine/reference/commandline/run/) +- [Docker desktop РїРѕРґ windows](https://docs.docker.com/desktop/install/windows-install/) +- [Контейнеры РІ Windows](https://learn.microsoft.com/ru-ru/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server) + +#### Установка gitlab-runner + +Пожалуйста, ознакомьтесь СЃ [инструкцией](https://git.miem.hse.ru/devops_public/summerschool2023/-/blob/master/files/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0%20%D1%80%D0%B0%D0%BD%D0%B5%D1%80%D0%B0.pdf) РїРѕ утановке gitlab runner + +РњС‹ настоятельно рекомендует устанавливать раннер РІ контейнере docker, СЃ подключением docker volume. +Так Р¶Рµ пользуйтесь официальной документацией: +- [Установка раннера](https://docs.gitlab.com/runner/install/docker.html) +- [Регистрация раннера](https://docs.gitlab.com/runner/register/index.html#docker) +- [Docker in docker](https://gitlab-org.gitlab.io/gitlab-docs/ee/ci/docker/using_docker_build.html) + + +## Авторы +[Р’. Башун](mailto:vbashun@hse.ru), Рў. Курмашева. + +## Контакты +- [ ] [Официальный канал Telegram](https://t.me/+5USjxpz4RU8yNTIy) +- [ ] РћСЃРЅРѕРІРЅРѕР№ адрес электронной почты [dpo_devops@miem.hse.ru](mailto:dpo_devops@miem.hse.ru) +- [ ] Telegram: [@vbashun](https://t.me/vbashun) + +## Contributing + +РњС‹ РїСЂРѕРІРѕРґРёРј летние/Р·РёРјРЅРёРµ школы, Р° так Р¶Рµ учебные РєСѓСЂСЃС‹ РїРѕ темам DevOps/DevSecOps. + +Если Сѓ вас есть комментарии, замечания или предложения РїРѕ доработке РєСѓСЂСЃРѕРІ, пожалуйста, [свяжитесь СЃ нами](#контакты) + +Если РІС‹ готовы сотрудничать или поучаствовать РІ разработке учебных программ или материалов, будем рады обсудить. + + + \ No newline at end of file -- GitLab