Развитие сообщества Open DevOps Community
Тимур Гильмуллин, Руководитель группы
поддержки процессов разработки (DevOps)
linkedin.com/in/tgilmullin
Александр Паздников, Руководитель отдела
технологий и процессов разработки
Проблема на начало 2016:
нет готового объединяющего решения
для CI/CD-систем
Проблемы 2016 года
• Отсутствовал готовый каркас открытой системы управления
полным циклом процесса разработки, доставки, развёртывания
и лицензирования
• Отдельные системы: GitLab, TFS, TeamСity, JFrog Artifactory,
статьи best practice и блоги, разрозненная документация
• Разрозненные знания отдельных специалистов компании о
продуктах и их сборке
Попытки решения проблем
Op!DevOps! 2016:
• статья на Хабрахабр
•видео
Open DevOps Community
• на базе GitHub-проекта DevOpsHQ
Что мы хотели объединить в DevOpsHQ
DevOpsHQ
ArtifactoryTeamCity
Upsource
GitLab
TFS
YouTrack
TestRail
DockerSaltStackZabbix
CrossBuilder
CrossPM
DevOpsLab
SupplyLab
SymbolServer
Цели и проекты в DevOpsHQ
Цель сообщества Open DevOps Community
Сформировать открытые готовые решения для управления:
• полным циклом процесса разработки
• тестирования и смежных процессов
• доставки
• развёртывания
• лицензирования продуктов
Опубликованные проекты
• crosspm — универсальный менеджер для скачивания пакетов для сборок
многокомпонентных продуктов, по правилам, заданным в манифесте
• vspheretools — инструмент для управления виртуальными машинами на
vSphere прямо из консоли, с возможностью подключения в качестве API-
библиотеки в Python-скриптах
• YouTrack Python 3 Client Library — Python-клиент для работы с API YouTrack
• TFS API Python client — Python-клиент для работы с API MS TFS
• A Python client for Artifactory — Python-клиент для работы с API хранилища
бинарных данных Artifactory
• FuzzyClassificator — универсальный нейронечёткий классификатор
произвольных объектов, свойства которых могут быть оценены на нечёткой
измерительной шкале
Готовятся к публикации
• CrossBuilder — система организации кросс-платформенных сборок
Build As a Code, наподобие Travis CI, но не зависящая от используемой
CI-системы (TeamCity, Jenkins, GitLab-CI)
• ChangelogBuilder — генератор release notes с описанием изменений
по продукту, который получает и агрегирует данные из различных
трекеров (TFS, YouTrack, GitLab)
• pyteamcity — доработанный python-клиент для работы с API TeamCity
• MSISDK — SDK для создания msi-пакетов для инсталляторов
Типовой проект
• Типовой проект ExampleProject (все проекты под MIT-лицензией)
Планы развития DevOpsHQ
Ретроспектива
• 2015 — настройка базовых сценариев и процессов, построение
скелета-каркаса системы DevOps
• 2016 — активное наращивание объёмов сборок и тестовых
процессов
• 2017 — закрепление успехов и стабилизация роста, качественный
переход на удобство использования
• впервые: годовой план для крупных задач
• цель: получение общего Конечного Полезного Результата
Цели и функции DevOps в PT
• Основная цель DevOps — обеспечение снижения
себестоимости производства Конечного Полезного Результата
• Основная функция DevOps — макросборка частей в единый
полезный конечный продукт и сокращение себестоимости
цепочки:
производство — доставка — развёртывание ПО
SupplyLab: система доставки обновлений
Система SupplyLab в 2017 году в цифрах:
1.Заказчики выкачали 80 Тб обновлений
2.Было опубликовано порядка 20 релизов продуктов
3.Было опубликовано ~2000 пакетов обновлений с данными
Планы по SupplyLab на 2018:
1.Разделить кодовую базу ядра и лицензионных проверок
2.Публикация в DevOpsHQ
Вектор целей управления на 2018
1.Обеспечение стабильности процессов разработки
2.Регулярное проведение вебинаров о существующих наработках,
для обеспечения серийности производства
3.Анализ процессов продуктовых команд для выявления узких мест,
которые может решить DevOps
4.Перевод на серийное дублирование процессов в командах
Направления развития в 2018
1.Расширение серийности — добавление новых типовых сборочных
шаблонов, в первую очередь, за счёт CrossBuilder
2.Ввод в эксплуатацию системы управления составом релиза и
качеством входящих пакетов (CrossPM + DevOpsLab)
3.Типовой процесс поставки через систему обновления SupplyLab
4.Выход на технологию Infrastructure as Code
5.Профилирование и оптимизация процессов сборки, развёртывания,
доставки
Планы DevOpsHQ на 2018
1.Разработка CrossBuilder — открытой системы Build As a Code и
шаблонов типовых проектов для неё
2.Управление составом дистрибутива на базе сборочных контрактов
пакетов и их меток качества
3.Разработка DevOpsLab — системы автоматизации и делегирования
типовых задач в проектные команды