Rate this post

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

n

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

nn

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

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

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

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

Continuous Integration сегодня

После усовершенствования CI практика изменилась. На сегодняшний день в нее входят система публикаций тестируемых релизных сборок на Global Update-сервере (с последующим распространением сборок непосредственно до заказчика) + стандартные группы конфигураций.nnНо и сейчас при всех положительных сторонах унификации, Continuous Integration имеет свои «минусы», которые решаются при правильном подходе.nnПервый недостаток заключается в усложненной логике конфигураций в TeamCity, затрудняющей работу (их поддержка производилась DevOps-специалистами компании, с достижением пределов масштабирования проектов). Решение — скрипты, созданные для автоматического генерирования типовых проектов.nnВторой «минус» — отсутствие механизма доставки готового продукта, его инсталляции. Причина — процессы сборки на CI сервере отличались от машин разработчиков. Решение проблемы – унификация, обеспечение их «одинаковости».nВ связи с этим Positive Technologies собирается и дальше оптимизировать непрерывную интеграцию методом усовершенствования процессов сборки CrossBuilder. Так компания добьется:n

    n

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

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

Внедрение и поддержка систем непрерывной интеграции CI, [email protected]

continuous integration