В рамках пилота для Макрорегионального филиала «Северо-Запад» «Ростелекома» интегратор «Инфосистемы джет» за два месяца автоматизировал ручную работу инженеров по сборке и выкладке в тестовую среду фрагментов кода и библиотек. Это было сделано с помощью CI-системы и написанного программистами набора правил.

CI (Continuous integration) – это подход к разработке приложений, при котором происходит постоянное автоматизированное слияние фрагментов кода, написанных разными программистами, в одну общую ветвь для последующего тестирования. Таким образом, процесс разработки становится более предсказуемым и быстрым, а ошибки обнаруживаются на ранних стадиях.

Проект по внедрению непрерывной интеграции был выполнен командой компании «Инфосистемы джет» для системы управления заказами физических лиц «Ростелекома». Система представляет собой веб-портал для внутреннего использования, в котором происходит вся работа с заказами.

Необходимо было автоматизировать процессы разработки для ускорения работы инженеров, которые производили множество ручных действий: сборки библиотек, сборку основного проекта и загрузку файлов на тестовый сервер. При таком подходе сотрудники тратили от 10 до 30 минут на сборку одного приложения.

Для обеспечения процесса непрерывной интеграции, автоматизации процессов сборки и доставки приложений команда интегратора установила CI-систему Jenkins. С помощью языка Groovy специалисты разработали скрипты (задачи), которые собирают библиотеки или основной проект, и выкладывают его на тестовый стенд. Кроме того, специалисты произвели интеграцию цикла CI с существующими системами заказчика (Gitlab, Tomcat), и обучили сотрудников «Ростелекома» использованию нового решения.

После запуска системы самая большая автоматизированная сборка занимает 1 минуту.

«Мы довольны результатами проекта и планируем применить такой подход и на других системах компании. Пилот был выполнен четко и за короткий срок. Кроме того, мы решили не откладывать приемо-сдаточные испытания из-за карантина: несколько итераций провели в формате онлайн-конференций, где с нашей стороны присутствовало более 10 человек», — сказал Владимир Родин, архитектор центра компетенций по развитию информационных систем и платформ «Ростелекома».

«Мы поменяли подход к разработке приложений и внедрили технологию, благодаря которой изменения, которые происходят в системах заказчика, автоматически запускают сборки на сервере», — сказал Александр Садыков, руководитель отдела тестирования компании “Инфосистемы джет”. В случае успеха, они автоматически устанавливаются на тестовый сервер, после чего запускаются базовые автотесты, показывающие работоспособность продукта».

Источник