DevOps конвейер за 100К…байт

Заказчик
ООО "Сбербанк Факторинг"
Руководитель проекта со стороны заказчика
Год завершения проекта
2023
Сроки выполнения проекта
Март, 2022 - Октябрь, 2023
Масштаб проекта
54 автоматизированных рабочих места
Цели
Для 12 продуктовых команд и 54 разработчиков потребовалось разработать универсальный механизм CI/CD для сборки и публикации их приложений. Бюджета для найма DevOps инженеров в каждую команду и настройки индивидуального DevOps процесса под каждый продукт не предусматривалось. При этом команды использовали 4 разных технологических стека.
Результаты
Все 12 команд используют единый DevOps конвейер, развертывание даже самых больших продуктов занимает не более 10 минут.
При этом в пайп встроены сборки контейнеров, различные проверки кода на уязвимости, тесты и контрольные процедуры.

Уникальность проекта

Было принято решение не фокусироваться на раскатке каждого продукта, а сделать Auto Discovery DevOps, который сам определяет тип проекта для развертывания. Мы сделали поддержку следующих типов:

- целевые (Docker контейнеры на Kubernetes, NuGet-пакеты);
- нецелевые (Windows службы, IIS веб сайты, Docker-контейнеры на Swarm).

Также было принято решение не использовать скрипты bash для описания логики CI/CD, поскольку такой код более труден для понимания и сопровождения большинству разработчиков в командах. Скрипты должны запускаться в разных средах (Windows, Linux), быть достаточно компактны и понятны для сопровождения.
В итоге был выбран доступный администратору и разработчику PowerShell Core с возможностью параллельной обработки команд, создания функций и модулей.

Проект решает задачи импортозамещения
Да
Использованное ПО

GitLab, PowerShell Core, Yaml

Сложность реализации

40 КБ yaml-файлов и 60 КБ PowerShell-скриптов

Описание проекта
Конвейер CI/CD работает вместе с системой управления версиями GitLab и традиционно применяется для повышения производительности разработки программного обеспечения, улучшения процесса совместной работы разработчиков, а также обеспечения высокого уровня контроля и безопасности над изменениями кода.
С учетом использования командами различных технологий разработки и нежеланием наращивать численность специалистов по DevOps обеспечивается автоподбор нужного механизма сборки и развертывания по принципу auto discovery.
При этом вся логика CI/CD описана достаточно компактно и, как следствие, проста в сопровождении.

География проекта
Москва

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

Год
Предметная область
Отрасль
Управление
Мы используем файлы cookie в аналитических целях и для того, чтобы обеспечить вам наилучшие впечатления от работы с нашим сайтом. Заходя на сайт, вы соглашаетесь с Политикой использования файлов cookie.