DevOps1. Основные инструменты 2025
Программа курса
Модуль 0. Подготовка к занятию
Узнать и записать свой номер стенда: X=
Сообщить его в чат преподавателю
Модуль 1: Введение и развертывание стенда
Теория
Лабораторные работы: Развертывание стенда и инициализация репозитория Git
1.1 Схема стенда, импорт, настройка и запуск VM gate и server
Запустите с правами Administrator
C:\cmder\cmder.exe
bash
cd
test -d conf && rm -r conf
git clone http://val.bmstu.ru/unix/conf.git
cd conf/virtualbox/
!!! 8 - это номер курса, вместо X укажите Ваш номер стенда, если не знаете его, спросите преподавателя !!!
./setup.sh X 8
1.2 Настройка сети VM gate и server
# sh net_gate.sh
# init 6
# sh net_server.sh
# init 6
1.3 Инициализация репозитория Git
Сервис Git, команды init, add, commit для каталога /etc на server
server:~# sh conf/dns.sh
Настройка клиента
DNS на gate и server
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
# nslookup ns
1.4 Работа с репозиторием Git
server# cat /etc/bind/corpX.un
...
webd A 192.168.X.10
Вопросы
Перечислите и объясните команды git
Модуль 2: Docker
Теория
Лабораторные работы: Установка docker и работа с контейнерами
2.1 Причины использования Docker
!!! Методическая рекомендация, запустить установку Docker (только на server) из лабораторной работы 2.2
2.2 Собираем docker контейнер
server# apt purge inetutils-inetd
Установка Docker из базового репозитория на server и из репозитория вендора на gate
!!! Методическая рекомендация, запустить установку GitLab из лабораторной работы 4.1
2.3 Связываем и деплоим контейнеры с помощью docker-compose
2.4 Создание образа для приложения с использованием Dockerfile
!!! Методическая рекомендация, запустить установку Golang из этой лабораторной работы
!!! Методическая рекомендация, запустить установку Vagrant из лабораторной работы 3.1
server# scp -r gowebd/ gate:
2.5 Использование Docker Registry
Вопросы
Перечислите преимущества использования Docker
Модуль 3. Инфраструктура как код
Теория
Лабораторные работы: Управление инфраструктурой
3.1 Управление инфраструктурой с использованием Vagrant
!!! Методическая рекомендация, запустить установку Ansible из лабораторной работы 3.2
3.2 Управление инфраструктурой с использованием Ansible
Вопросы
Что общего и в чем отличие между Ansible, Vagrant и Terraform?
Что означает термин Provision в Vagrant?
Что такое module, playbook, role в Ansible?
Назовите каталоги в роли Ansible
Что должно быть установлено на целевой системе для управления через Ansible?
Каким образом Vagrant управляет VM?
Как реализован Ansible provision в Vagrant?
Модуль 4. Continuous Integration
Теория
Лабораторные работы: От Git к CI/CD
4.1 Обзор GitLab
!!! Методическая рекомендация, скачать gitlab-runner из следующей лабораторной работы
4.2 Запуск пайплайнов из .gitlab-ci в gitlab-runners
Используя GitLab Pipeline Editor добавляем в проект openvpn1
Пример shell ansible Pipeline и наблюдаем “выкатку” в “прод” после Commit в ветку main
Модуль 5. Обзор задач QA
Теория
Лабораторные работы: Задачи тестирования
5.1 Ручное тестирование функциональности
Добавляем параметры dhcp-option,block-outside-dns и Commit в test с созданием Merge requests и наблюдаем “выкатку” в “тестовую” среду, проверяем работу сервиса в ней
Одобряем Merge requests и наблюдаем “выкатку” в “прод”
5.2 Автоматизированный анализ кода и работоспособности приложения при сборке образа
Вопросы