Связаться по:
[email protected]

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

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

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

Rate this post

Рассмотрим на примере одной организации, которую назовем 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, [email protected]

continuous integration

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

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