Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Константин Ожерельев – CI/CD для проектов, разрабатываемых в конфигураторе
Search
Ozon Tech
October 16, 2023
Technology
0
72
Константин Ожерельев – CI/CD для проектов, разрабатываемых в конфигураторе
Ozon Tech
October 16, 2023
Tweet
Share
More Decks by Ozon Tech
See All by Ozon Tech
Анна Мария Попова (Х5 Tech) – Фантастический техпис: может ли опыт создания художественных книг помочь в написании документации
ozontech
0
120
Александр Мачулин (Gramax) – Справочник фантастических тварей из Docs as Code
ozontech
0
26
Мария Смирнова – Дзен и искусство работы с документацией: как использовать принципы буддизма в работе техписа
ozontech
0
25
Сергей Кузнецов – «Эксперименты с нейросетями в рекомендациях»
ozontech
0
54
Артём Нургалиев – «MLOps, автоматизированное обучение и доставка моделей»
ozontech
0
36
Артём Панин – «Автоматическое управление рекламой в Ozon»
ozontech
0
57
Дмитрий Андросов – «Персональные поисковые подсказки»
ozontech
0
69
Юрий Гуреев – 5 продвинутых приемов работы с EDT и Git
ozontech
0
63
Евгений Мазуренко – Как управлять проектами и не терять связь с заказчиком
ozontech
0
44
Other Decks in Technology
See All in Technology
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
4
610
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
700
JSON攻略法.pdf
miyakemito
8
5.2k
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
700
Azureの基本的な権限管理の勉強会
yhana
1
2k
Babylon.js JAPAN活動紹介 (2024/4)
limes2018
1
110
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
710
Cloud Service Mesh に触れ合う
phaya72
1
150
Improve Your Development Workflow with Gemini Code Assist
meteatamel
0
120
データベース02: データベースの概念
trycycle
0
180
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
3.2k
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
2
250
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Optimising Largest Contentful Paint
csswizardry
12
2.4k
Rails Girls Zürich Keynote
gr2m
91
13k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Scaling GitHub
holman
457
140k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Design by the Numbers
sachag
274
18k
Ruby is Unlike a Banana
tanoku
96
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Transcript
Ozon Tech 2023 CI/CD для проектов, разрабатываемых в конфигураторе Константин
Ожерельев, старший разработчик 1С
Обо мне 2 Константин Ожерельев • Старший разработчик 1С •
Департамент разработки ERP и учетных систем
О чем поговорим 3 • Наша конфигурация, цифры • Какие
задачи мы решали с помощью CI/CD • Как CI/CD помогают соблюдать политики изменения информационных систем • Что под капотом. Техническая реализация
Наша информационная система. Почему конфигуратор?
Наша основная система на платформе 1С 5
Показатели системы Немного цифр 6 Размер базы > 6 ТБ
Среднее количество активных пользователей > 250 Количество документов ежемесячно > 10 млн Количество плановых релизов ежемесячно 2
Предыстория
PUBLIC PRIVATE 8 Ozon — публичная компания и ей было
необходимо проходить внешний IT-аудит
Цели данного процесса: 9 2. Устранение сбоев в работе информационных
систем 3. Внедрение разработок в ИС при сохранении параметров работы системы на надлежащем уровне 1. Минимизация рисков внедрения несанкционированных, неавторизованных и не проконтролированных надлежащим образом изменений
Мы обернули требования регуляторов в код и зашили в процессы
CI/CD, смазав OneScript 10
Как выглядит реализация требований на практике 11
Инструменты
Стек 13
Flow разработки. Подготовка релиза
В Ozon общий Flow для всех команд разработки Flow Доклад
команды RE об общем Flow 15
Подключение функциональности 16
Используем три типа веток Как работаем с ветками Git Develop
17 Release Main Master
Для обычных релизов и для Hotfix Два вида FLOW 18
Commit Hotfix Release
Релизный Flow ИБ Разработчика Хранилище DEV Develop Master Release Stg
БД 19
Схема Flow разработки 1С 20
Pipeline
Конвейер на ветке develop создается для каждого коммита 22 Создание
Merge request Выкатка Hotfix- расширением Выпуск релиза, запуск релизного pipeline
Создание Merge request 23 Согласно требованиям
Релизный pipeline 24 Сборка исходников Накатываем CF на Stg
Синтаксический контроль 25 Результаты синтаксического контроля отображаем с помощью функционала
Сode quality Gitlab
Tag pipeline. Выкатка на production 26
Как мы исправляем ошибки в production
Исправляем на горячую 28
Упрощенный flow для hotfix Hotfix Инцидент Расширение Хранилище расш. Develop
Master Release_cfe Hotfix/[] Master 29
Схема Hotfix Flow 30
YML проекта 31
Выпустил релиз и спишь спокойно?
33 Мониторинг
Пример дашборда Размер очереди обмена, насколько быстро она разбирается 34
Автоматические алерты Реакция на алерты Эскалация алерта Алертинг 35
Выводы
Итоги 37 • Тиражировали на 10 проектов • Общий проект
с единым YML • Логику можно переопределить • 20 релизов в месяц по всем проектам • Отдельный проект для ночных сборок • Снизили количество инцидентов
Спасибо за внимание Константин Ожерельев, старший разработчик 1С