En

JazzTeam Software Development Company

Agile Java Development

Внедрение CI/CD в существующий программный проект

Краткое описание проекта: важным аспектом успешной разработки любого программного продукта является корректное движение команды по жизненному циклу разработки программного обеспечения (SDLC — Software Development Life Cycle). SDLC определяет процесс, используемый организациями для создания программного продукта с момента зарождения идеи до выхода в эксплуатацию. Процесс разработки включает шесть основных этапов: планирование, анализ, дизайн, разработку и внедрение, тестирование и интеграцию, поддержку системы. Последние три этапа можно существенно упростить с помощью внедрения CI/СD (Continuous Integration & Continuous delivery концепция непрерывной интеграции и поставки программного обеспечения). Данная концепция позволяет сократить время поиска ошибок, поставки программного обеспечения и дает возможность разработчикам полностью сосредоточиться на разработке программного продукта. 

Благодаря внедрению CI/CD, после каждого внесенного изменения в код, программный продукт автоматически собирается и тестируется. Это в значительной степени упрощает процесс разработки, так как, вместо проверки всего исходного кода разработчикам нужно сосредоточиться только на конкретном коммите (изменении кода) и, как следствие, разработчик тратит меньше времени на исправление ошибок, у него появляется возможность уделять больше времени и внимания непосредственно разработке.

При разработке программного продукта заказчика большинство действий делалось вручную. Заказчик хотел упростить этот процесс, поэтому нашей задачей было настроить и внедрить CI/CD в процесс разработки существующего программного продукта заказчика. На сегодняшний день есть множество инструментов, позволяющих реализовать данную задачу. В качестве такого инструмента был выбран Jenkins, так как он:

В рамках внедрения CI/CD были разработаны и настроены следующие задачи (jobs):

Полный набор job отображен на рисунке 1.Рисунок 1. Схема работы настроенных job и условий их выполнения

Рисунок 1. Схема работы настроенных job и условий их выполнения

В результате работы нашей командой был спроектирован и реализован на сервере заказчика весь необходимый набор Jenkins jobs: сборка новых изменений в коде, релиз, откат внесенных изменений при возникновении ошибок, деплой на сервер. Таким образом была автоматизирована часть процессов, которые ранее выполнялись вручную и требовали постоянного участия разработчиков. Кроме того, команда JazzTeam полностью задокументировала всю выполненную работу, а именно принципы и случаи, когда происходит выполнение jobs.

Технологии: Jenkins, Nexus, JUnit.

Особенности проекта:

Результат проекта:

Достижения компании на проекте:

Свяжитесь с нами, чтобы обсудить Ваш IT-проект

    Имя *

    Название компании

    Email *

    Телефон

    Чем мы можем Вам помочь? *

    * – Обязательные поля для заполнения