CI/CD с нуля
Блиц-опрос
Кому полезно
Что в докладе
Чего мы добились
Нужно для WORKFLOW
WorkFlow
Всего 3 инструмента
Требования для внедрения
Как всё работает
Итог
Спасибо за внимание!
Вопросы
1.88M
Category: programmingprogramming

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

НУЖНО ДЛЯ WORKFLOW
1. Классическая модель
работы в git
• master
• development
• feature
https://nvie.com/posts/a-successful-gitbranching-model/
+
2. Совместная работа в
трекере задач
3. Автоматизация
инфраструктуры для
тестирования и релизов
6

7. WorkFlow

WORKFLOW
Bug-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 SHOW
10

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
English     Русский Rules