Similar presentations:
CI/CD с нуля. Процесс разработки программного обеспечения с использованием GitLab, Docker, Traefik. Первые шаги
1. CI/CD с нуля
Кривченко ДмитрийCI/CD С НУЛЯ
Процесс разработки программного
обеспечения с использованием
GitLab, Docker, Traefik. Первые
шаги.
2. Блиц-опрос
БЛИЦ-ОПРОС% аудитории
0
10
20
30
40
50
60
70
80
90
100
Все присутствующие
Не слышали о CI/CD
Слышали
Внедрено
Полная автоматизация
Знают как
Поделились
% аудитории
2
3. Кому полезно
КОМУ ПОЛЕЗНО• Начинающим компаниям с небольшим
бюджетом, что в поисках лучших практик
• Компаниям с исторически сложившимся
процессом работы и закостенелыми
привычками
• Всем, кто слышал про CI/CD, но считает это
чем-то сверхсложным или откладывает на
потом
3
4. Что в докладе
ЧТО В ДОКЛАДЕКак мы пришли к текущему процессу разработки
(workflow)
Описание workflow
Информация по инфраструктуре и её внедрению
Разбор тестового стенда
Разбор реализации для веб-приложения на Django
с развернутой БД в docker-образе для стейджинга
Показ результата вживую
4
5. Чего мы добились
ЧЕГО МЫ ДОБИЛИСЬ• Легкий и быстрый вывод обновлений в
production (ради теста выводили каждый день
две недели подряд)
• Гарантию защищённости от ошибок из-за
различий в окружении приложения
• Можем организовать эффективное
взаимодействие с заказчиком:
демонстрировать каждую feature-ветку
давать гостевой доступ для создания задач и
наблюдения над ходом работ
5
6. Нужно для WORKFLOW
НУЖНО ДЛЯ WORKFLOW1. Классическая модель
работы в git
• master
• development
• feature
https://nvie.com/posts/a-successful-gitbranching-model/
+
2. Совместная работа в
трекере задач
3. Автоматизация
инфраструктуры для
тестирования и релизов
6
7. WorkFlow
WORKFLOWBug-report или
feature-request
Выяснение
подробностей
Оформление Issue
(задачи) с
описанием и
решением
Создание MR в devветку и деплой
тестового сервера
Проверка и
исправление
недочётов
Принятие MR в
ветку dev
MR из dev в master,
деплой стейджингсервера
Проверки и
исправления
Создание списка
измененй и
принятие MR в
master
Деплой в production
Мониторинг
Работа над задачей
в feature-ветке
7
8. Всего 3 инструмента
ВСЕГО 3 ИНСТРУМЕНТАGitLab – «швейцарский нож» для
разработчика
Traefik – reverse proxy & load balancer
Docker – технология контейнеризации
приложений
8
9. Требования для внедрения
ТРЕБОВАНИЯ ДЛЯ ВНЕДРЕНИЯ• Наличие железа
• Знание всех нюансов работы вашего
приложения и как оно разворачивается
• Базовые знания git, Linux, Docker, GitLab, Traefik
• Поддержка от руководства
9
10.
LIVE SHOW10
11. Как всё работает
КАК ВСЁ РАБОТАЕТ11
12. Итог
ИТОГМы делимся полноценным проверенным решеним
для построения совместной прозрачной работы,
начиная от постановки задач до релизов с
использованием минимального количества
современных инструментов.
А также даём пример для часто используемого
случая.
Пользуйтесь.
Проект CICD: https://github.com/Akkarine/demo_cicd
Пример проекта: https://github.com/Akkarine/demo_cicd_project
12
13. Спасибо за внимание!
Кривченко ДмитрийООО «Синергия»
https://sngy.ru
[email protected]
https://t.me/akkarine
СПАСИБО ЗА ВНИМАНИЕ!
14. Вопросы
ВОПРОСЫhttps://ru.wikipedia.org/wiki/Уравнение_Шрёдингера
14