Similar presentations:
ЛещановРусланПрезентацияВКР
1.
Автоматизация развертывания иуправления веб-приложением с
использованием Docker и CI/CD
на примере ООО «Линтех».»
АВТОР: Р.С. ЛЕЩАНОВ.
РУКОВОДИТЕЛЬ: Г.М.АРЗУМАНЯН.
МОСКВА, 2026. ОДЗАГОЛОВОК
2.
ЦЕЛЬ И АКТУАЛЬНОСТЬЦель: Спроектировать и внедрить CI/CDпайплайн для автоматизации развертывания
веб-приложения Comtask
Актуальность: Острая нужда в наше время,
когда бизнесу требуются мгновенные и
безошибочные обновления IT-сервисов. Мое
решение полностью соответствует
требованиям компании и решает данную
проблему.
2
3.
Анализ предметнойобласти
Ручное развертывание /
обновление приложений
Копирование файлов, сборка
образов, запуск контейнеров
Сокращение времени деплоя
приложения
Реагирование и отработка сбоев
3
4.
ТРЕБОВАНИЯ КИНФОРМАЦИОННОЙ СИСТЕМЕ
Цель: автоматическое развертывание и обновление
приложения Comtask
Функциональные требования:
1. Сборка образа при push в main
2. Публикация в Docker Hub
3. Деплой по SSH на pre-prod и prod
Нефункциональные требования:
1. Надёжность: восстановление <10 мин
2. Производительность: деплой <5 мин
3. Безопасность: секреты в GitHub Secrets, SSH без
пароля
4. Масштабируемость: добавление новых серверов
4
5.
Инфраструктураи управление
конфигурациями
1.Вся инфраструктура описана декларативно: Dockerfile, dockercompose.yml, nginx/default.conf, .github/workflows/deploy.yml — всё в Git.
2.Окружение воспроизводится одной командой: docker-compose up -d на
любом сервере.
3.CI/CD-пайплайн автоматизирует сборку, тестирование, публикацию
образа и деплой (единый конвейер).
4.Self-hosted runner обеспечивает безопасное выполнение задач внутри
локальной сети без публичных IP.
5.Принципы: «всё как код», неизменяемые артефакты, автоматизация
вместо ручных операций.
5
6.
АРХИТЕКТУРАСИСТЕМЫ
1. Три контейнера: Nginx (порты 80/5000),
Flask (бэкенд), PostgreSQL (БД).
2. Взаимодействие через внутреннюю сеть
Docker по именам сервисов.
3. Nginx – единая точка входа: проксирует
запросы к Flask, отдаёт статику.
4. Данные
PostgreSQL
хранятся
в
именованном томе (персистентность).
5. Воспроизводимость,
изоляция,
безопасность.
6
7.
РАБОТА CI/CD4
ТЕСТ
1
Происходит процесс
релиза к примеру на
тестовый сервер
Отработка конвейера
по триггеру например
после git push
СБОРКА
ДЕПЛОЙ
КОД
2
5
РАБОТА
Тестовый релиз
прошел, все
работает
Идёт процесс сборки
продукта
СБОРКА
КОД
Обновление кода,
которое прошло все
проверки и готово
быть релизнуто
РЕЛИЗ
CI
3
CD
6
РЕЛИЗ
РАБОТА
ТЕСТ
ДЕПЛОЙ
С тестового сервера
начинается деплой
уже на продакшн
сервера
7
8.
54
3
2
1
Триггер
Git push в ветку > Self-hosted
runner выполняет
джобы ->
checkout кода
1 шаг
Docker login
Логин в
Dockerhub,
сборка образа и
пуш в хранилище
2 шаг
Публикация
Публикация и
сохранение
образа в
DockerHub
3 шаг
SSH
Подключение на
pre-prod сервер с
пуллом нашего
образа из
DockerHub
4 шаг
Деплой
При успехе
последующий
деплой на
продакшн
5 шаг
8
9.
РЕЗУЛЬТАТЫ ВНЕДРЕНИЯCI/CD1. Время деплоя: сокращено с 35–40 мин до 3–5 мин (в 12 раз быстрее)
2. Человеческий фактор: ручных операций с 12 → 1 (git push), ошибки ручного деплоя (30%) → <1%
3. Надёжность: 10 запусков CI/CD — 100% успешных (кроме внешнего сбоя)
4. Экономия: годовой экономический эффект – 117 567 руб.
5. Окупаемость: 11,93 месяца (при гипотетической оплате разработки)
6. Воспроизводимость: новый сервер поднимается за 5 минут (раньше — часы)
9
10.
Вывод: CI/CD пайплайн иконтейнеризация дают реальную
экономию, скорость и надёжность.
Решение готово к внедрению в ООО
«Линтех».
На данном графике
представлены
результаты
тестирования и
сравнение
автоматизированной
системы с ручным
деплоем и
обновлением, как мы
видим, разница
существенна, 3 минуты
против 40 минут.
10
11.
СПАСИБО ЗАВНИМАНИЕ!
11
software