DevSecOps 2022 - Инструкция по подготовке к программе. Что нужно установить до начала тренингов, что мы будем изучать
Цель обучения
Освоить современные практики непрерывной интеграции и доставки нового кода (Continuous Integration / Continuous Delivery, CI/CD) на примере технологий GitLab/GitFlow и Docker. Участники разберутся с принципами CI/CD, научатся создавать пайплайны на примере Gitlab CI, освоят методы и инструменты контейнеризации на примере Docker, научатся строить цепочку поставки, включающую все основные стадии - сборка, тестирование, упаковка, сканирование.
Темы
В рамках обучения мы рассматриваем следующие темы:
- Введение в DevOps/DevSecOps
- Инструменты совместной работы
- Технологии контейнеризации
- Обеспечение безопасности контейнеров
- Автоматизация цепочки поставки
- Безопасность рабочей нагрузки
- Технологии оркестрации (самостоятельная работа)
Программа
Посмотреть расписание можно здесь
Трансляции
- День 1. Введение в DevOps/DevSecOps. Инструменты совместной работы.
- День 2. Технологии контейнеризации. Docker.
Задания
-
День 1. Подготовка среды
- см. так же раздел Настройка docker runner
- ответ на задание загружаем в форму
Требования к участникам
- Участники должны не бояться работать с командной строкой.
- Знать основы Linux (базовое администрирование).
- Базовые навыки программирования.
- Базовые знания компьютерных сетей.
- Базовые навыки работы с git.
Инструменты совместной работы (git) является одной из тем, которые мы рассматриваем, но предполагается, что вы знаете основы работы с git. Некоторые базовые вещи разбираются в этом видео Пожалуйста, ознакомьтесь с ним заранее, если у вас нет опыта работы с git.
(ВАЖНО) Необходимые действия до начала обучения
-
Вам необходимо зарегистрироваться на платформе GitLab (DevSecOps platform)
- Все задания, требующие использования репозитория и запуска CI/CD пайплайнов, будет делать на этой платформе.
-
Вам необходимо зарегистрироваться на Docker Hub
- Сюда мы будет загружать полученные образы контейнеров.
-
Вам необходимо подготовить компьютер, установив на него необходимое ПО
- Без его установки, вы не сможете выполнять задания.
Необходимое ПО
Для выполнения практических заданий вам понадобится:
-
Клиент git
-
Установка git client
-
Много полезной информации по работе с git
-
-
Docker (или другое CRI-совместимое решение).
Мы рекомендуем использовать docker под ОС Linux (если у вас другая ОС, можно развернуть ее, например, в virtual box).
- Документация по установке docker:
- https://docs.docker.com/engine/install/
- Если вы будете работать с docker под Windows
- https://docs.docker.com/desktop/install/windows-install/
- https://learn.microsoft.com/ru-ru/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server
-
Рекомендуем Вам установить Python3 и среду разработки к нему для выполнения домашних заданий.
- Если Вы планируете использовать другой язык -- предустановите его
Настройка docker runner
-
Порядок действий
- Создаем новую группу в гитлабе
- Переходим в CI/CD настройки группы
- По инструкции устанавливаем ранер на свой компьютер
- Регистрируем свой раннер для группы (скрин)
- В настройках ранера CI/CD => Runners => Редактировать поставьте галочку «Run unstaged jobs»
- В настройках Settings => CI/CD => Runners необходимо выключить "Enable shared runners for this group"
-
Ссыдки на документацию
-
Настройка раннера
Подробнее в официальной документации
- docker volume create gitlab-runner-config
- docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v gitlab-runner-config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
- docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register
под Windows если вы пользуетесь git bash консолью, указывайте корректно пути для mount (см. пример)
- winpty docker run --rm -it -v //d/projects/runner2/gitlab-runner/config:/etc/gitlab-runner \
-v //d/projects/runner2/var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest status
- winpty docker run --rm -it -v //d/projects/runner2/gitlab-runner/config:/etc/gitlab-runner \
-v //d/projects/runner2/var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest register
Для самостоятельного изучения темы оркестраторы
Так же для выполнения самостоятельной работы по оркестраторам вам понадобится (*вы можете сделать это позднее, материалы для самостоятельного изучения будут доступны и после завершения обучения)
- Minikube и одним из драйверов на выбор (Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation). Рекомендуется VirtualBox или VMware