Связаться по Skype: vkarabedyants
Позвонить Написать
+7 (499) 404-28-83

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Повышение эффективности Continuous Integration

Рассмотрим на примере одной организации, которую назовем Positive Technologies.

Positive Technologies занимается изучением безопасности ИТ-систем, разработкой продуктов, помогающих в обнаружении и предотвращении угроз, минимизации потерь от атак. Не была оставлена без внимания и Continuous Integration. Каким образом Positive Technologies повышает эффективность работы CI?

Проблемы CI и их решение

Изначально в качестве системы CI Positive Technologies выбран инструмент TFS, что позволяло тестировать код и автоматизировать сборку. Это привело к выявлению нескольких существенных проблем, требующих незамедлительного решения:

  • интеграция не C#-проектов;
  • поддержка шаблонов конфигураций;
  • расширение инфраструктруры.

После исправления перечисленных недостатков, инфраструктура CI представляет 3 базовых сервиса, связанных между собой — Artifactory, GitLab, TeamCity. Помимо правки «минусов» были разработаны типовые проекты для CI server. В результате — выделена релизная схема сборок с продвижениями в TeamCity, позволяющая унифицировать проекты, добиться их одинаковой иерархии.

непрерывная интеграция

Continuous Integration сегодня

После усовершенствования CI практика изменилась. На сегодняшний день в нее входят система публикаций тестируемых релизных сборок на Global Update-сервере (с последующим распространением сборок непосредственно до заказчика) + стандартные группы конфигураций.

Но и сейчас при всех положительных сторонах унификации, Continuous Integration имеет свои «минусы», которые решаются при правильном подходе.

Первый недостаток заключается в усложненной логике конфигураций в TeamCity, затрудняющей работу (их поддержка производилась DevOps-специалистами компании, с достижением пределов масштабирования проектов). Решение — скрипты, созданные для автоматического генерирования типовых проектов.

Второй «минус» — отсутствие механизма доставки готового продукта, его инсталляции. Причина — процессы сборки на CI сервере отличались от машин разработчиков. Решение проблемы – унификация, обеспечение их «одинаковости».
В связи с этим Positive Technologies собирается и дальше оптимизировать непрерывную интеграцию методом усовершенствования процессов сборки CrossBuilder. Так компания добьется:

  1. идентичности этих процессов на CI сервере и машинах разработчиков;
  2. применения разных систем непрерывной интеграции;
  3. декларативного описания сборочных процессов (при этом команда разработчиков, а не DevOps-команда, занимается написанием специальных файлов-манифестов).

Благодаря таким действиям появляется реальная возможность улучшить эффективность CI в действии.

Внедрение и поддержка систем непрерывной интеграции CI, office@system-admins.ru

continuous integration

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.