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 описана достаточно компактно и, как следствие, проста в сопровождении.
- География проекта
- Москва