Почему настройка CI&CD является одним из главных приоритетов для IT компании

Почему настройка CI&CD является одним из главных приоритетов для IT компании

Обычно, над созданием программы трудятся: программисты, каждый из которых пишет свою часть кода программы, а затем, вручную, все части соединяются в одну основную ветку готового кода программного продукта; тестировщики, которые проверяют код на наличие ошибок; менеджеры/руководители проектов, которые  следят, чтобы все делалось и делалось вовремя. Потом, все это вручную соединяется и получается готовая пользовательская программа или какой-либо сервис, которым мы пользуемся в обычной жизни, например, браузер, которым мы привыкли пользоваться, или мессенджеры на наших мобильных устройствах.

Получается, один большой сборочный механизм, который работает на 1 общую цель – выпуск программы. И весь процесс занимает очень много времени, если делать все вручную. Но современная IT сфера не стоит на месте. Каждая команда разработчиков хочет оптимизировать весь процесс создание программ так, чтобы большинство действий делалось автоматизировано. И для этого, существует система автоматизированной разработки CI & CD.

CI & CD помогает автоматизировать многие процессы при создании программного продукта, ускорить время релиза (выпуска) программы, минимизировать ошибки человеческого фактора, и, освободить команду для выполнения других задач.

В этой статье, мы постараемся наиболее просто объяснить принцип системы CI & CD.

 

Итак, что же такое CI & CD и как она работает?

CI (Continuous Integration или Непрерывная интеграция) – это автоматическая сборка программного обеспечения и его тестирование на корректность.

CD (непрерывная доставка или Continuous Delivery)  – это автоматическая установка изменения кода на серверах компании.

При использовании CI & CD, разработка программного продукта проходит несколько этапов и используется подсистемы, которые подключаются на определенных этапах разработки.

К ним относится:

  • система контроля версий Git, в которой пишутся и хранятся все версии кода;
  • система jenkins  – для автоматизации процессов сборки и тестирования этого кода;
  • облачный сервис – AWS.

 

На этой картинке показан весь цикл CI & CD

Система автоматизации разработки CICD

Давайте подробней рассмотрим каждый этап цикла

 

1 этап – CODE.

1 этап CI & CD - CODE

На этом этапе, разработчик пишет код, проводит начальное тестирование своего кода, чтобы не было ошибок, фиксирует изменения кода в своей рабочей ветке в git (система контроля версий), затем разработчик соединяет свой модифицированный код программы с рабочим кодом программы из основной ветки (основная ветка git – это ветка, из которой в последующем клиенты получают готовую программу), затем,

 

2 этап – BUILD

2 этап CI & CD - BUILD

система, выбранная в качестве инструмента для CI “видит”, что есть изменения в коде и запускает процесс автоматической сборки и автоматического тестирования программы  – Jenkins, 

Для разработчиков, есть возможность пройти курсы по изучению Jenkins на русском у нас. После прохождения данного курса, Вы будете знать, как автоматизировать процесс сборки, тестирования и развертывания кода программы – что необходимо для этого этапа.

После этого,

 

3 этап – TEST

3 этап CI & CD - TEST

если автоматические тестирование системой CI прошло успешно, программный продукт отдается для ручного тестирования команде тестировщиков, при этом, ему присваивается версия кандидата для дальнейшего выпуска, например, v1.0.0-1,

 

4 этап – RELEASE

после исправления недочетов программы, найденных  во время ручного тестирования, выпускается версия для клиента, например, v.1.0.0 (при этом, версии кандидатов для выпуска каждый раз увеличиваться. Например, при выпуске новой версии кандидата, после первого исправления, версия кандидата станет v1.0.0-2 ), затем

 

5 этап – DEPLOY

5 этап CI & CD - DEPLOY

после выпуска пакета для клиентов, запускается автоматизированный процесс установки пакета на серверах компании – CD, после чего, клиент может увидеть результат разработки через интерфейс программного продукта, с помощью, облачного сервиса – AWS. 

Менеджеры и руководители проектов, у нас могут пройти обучение AWS на русском и Jenkins на русском языке. Это поможет повысить Ваши знания и квалификацию и поможет перейти на новый уровень организации Вашей работы.

После,

 

6 и 7 этапы – OPERATE.MONITORING

6 этап CI & CD - OPERATE

7 этап CI & CD - MONITOR

Осуществляется поддержка новой версии программы и ее мониторинг. После этого,

 

8 этап – PLANE

8 этап CI & CD - PLAN

Менеджеры проекта начинают разрабатывать новый функционал для программы, собирают запросы на исправление недочетов, которые нашли пользователи и добавляют это в план, затем

 

9 этап – CODE.

1 этап CI & CD - CODE

Петля повторяется, начиная с процесса кодирования – CODE.

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

Если Вам захотелось освоить этот механизм и в деталях узнать, как он работает – приглашаем пройти наши профессиональные онлайн курсы linux и DevOps, в которых Вы познакомитесь с каждой подсистемой Linux, Git, Jenkins и AWS в отдельности и получите практический опыт работы с ними

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

div#stuning-header .dfd-stuning-header-bg-container {background-image: url(https://linuxtrainingcenter.com/wp-content/uploads/2018/04/fon_post1.jpg);background-size: initial;background-position: top center;background-attachment: initial;background-repeat: initial;}#stuning-header div.page-title-inner {min-height: 200px;}#main-content .dfd-content-wrap {margin: 0px;} #main-content .dfd-content-wrap > article {padding: 0px;}@media only screen and (min-width: 1101px) {#layout.dfd-portfolio-loop > .row.full-width > .blog-section.no-sidebars,#layout.dfd-gallery-loop > .row.full-width > .blog-section.no-sidebars {padding: 0 0px;}#layout.dfd-portfolio-loop > .row.full-width > .blog-section.no-sidebars > #main-content > .dfd-content-wrap:first-child,#layout.dfd-gallery-loop > .row.full-width > .blog-section.no-sidebars > #main-content > .dfd-content-wrap:first-child {border-top: 0px solid transparent; border-bottom: 0px solid transparent;}#layout.dfd-portfolio-loop > .row.full-width #right-sidebar,#layout.dfd-gallery-loop > .row.full-width #right-sidebar {padding-top: 0px;padding-bottom: 0px;}#layout.dfd-portfolio-loop > .row.full-width > .blog-section.no-sidebars .sort-panel,#layout.dfd-gallery-loop > .row.full-width > .blog-section.no-sidebars .sort-panel {margin-left: -0px;margin-right: -0px;}}#layout .dfd-content-wrap.layout-side-image,#layout > .row.full-width .dfd-content-wrap.layout-side-image {margin-left: 0;margin-right: 0;}