Table of Contents

DevOps1. Основные инструменты 2025

Программа курса

Модуль 0. Подготовка к занятию

  1. Узнать и записать свой номер стенда: X=
  2. Сообщить его в чат преподавателю

Модуль 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

server:~# sh conf/dns.sh
# 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

Вопросы

  1. Перечислите и объясните команды git

Модуль 2: Docker

Теория

Лабораторные работы: Установка docker и работа с контейнерами

2.1 Причины использования Docker

!!! Методическая рекомендация, запустить установку Docker (только на server) из лабораторной работы 2.2

2.2 Собираем docker контейнер

server# apt purge inetutils-inetd

!!! Методическая рекомендация, запустить установку GitLab из лабораторной работы 4.1

2.3 Связываем и деплоим контейнеры с помощью docker-compose

2.4 Создание образа для приложения с использованием Dockerfile

!!! Методическая рекомендация, запустить установку Golang из этой лабораторной работы

!!! Методическая рекомендация, запустить установку Vagrant из лабораторной работы 3.1

server# scp -r gowebd/ gate:

2.5 Использование Docker Registry

Вопросы

  1. Перечислите преимущества использования Docker

Модуль 3. Инфраструктура как код

Теория

Лабораторные работы: Управление инфраструктурой

3.1 Управление инфраструктурой с использованием Vagrant

!!! Методическая рекомендация, запустить установку Ansible из лабораторной работы 3.2

3.2 Управление инфраструктурой с использованием Ansible

Вопросы

  1. Что общего и в чем отличие между Ansible, Vagrant и Terraform?
  2. Что означает термин Provision в Vagrant?
  3. Что такое module, playbook, role в Ansible?
  4. Назовите каталоги в роли Ansible
  5. Что должно быть установлено на целевой системе для управления через Ansible?
  6. Каким образом Vagrant управляет VM?
  7. Как реализован Ansible provision в Vagrant?

Модуль 4. Continuous Integration

Теория

Лабораторные работы: От Git к CI/CD

4.1 Обзор GitLab

!!! Методическая рекомендация, скачать gitlab-runner из следующей лабораторной работы

4.2 Запуск пайплайнов из .gitlab-ci в gitlab-runners

Модуль 5. Обзор задач QA

Теория

Лабораторные работы: Задачи тестирования

5.1 Ручное тестирование функциональности

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

Вопросы