Помоћ: шта је континуална испорука

Раније смо рекао о континуираној интеграцији (ЦИ). Наставимо са континуираном испоруком. Ово је скуп метода развоја софтвера. Помаже да се осигура да је ваш код спреман за примену.

Помоћ: шта је континуална испорука
/Пикабаи/ блуебудгие / PL

Прича

Повратак се могао видети фраза континуирана испорука агилни манифест од 2001. на почетку листе основних принципа: „Приоритет је решавање проблема корисника кроз континуирану испоруку ажурираног софтвера.“

Године 2010, Џез Хамбл и Дејвид Фарли су издали књига континуираном испоруком. Према ауторима, ЦД допуњује приступ Континуирана интеграција и омогућава вам да поједноставите припрему кода за примену.

Након објављивања књиге, приступ је почео да добија на популарности и за само пар година постао је готово општеприхваћен. Према анкета, спроведеном међу више од 600 програмера и ИТ менаџера 2014. године, 97% техничких менаџера и 84% програмера било је упознато са континуираном испоруком.

Сада овај приступ остаје један од најпопуларнијих. Према студији из 2018. која укључује ИТ заједницу ДевОпс и Јенкинс Цоммунити, то користи половина од више од хиљаду анкетираних испитаника.

Како функционише континуална испорука?

Основа ЦД-а је спремност кода за примену. За реализацију овог задатка користи се аутоматизација процеса припреме софтвера за издавање. Требало би да буде стандардно у различитим развојним окружењима, што ће помоћи да се брзо пронађу слабе тачке и оптимизују. На пример, убрзајте тестирање.

Пример процеса континуиране испоруке изгледа овако:

Помоћ: шта је континуална испорука

Ако је приступ континуиране интеграције одговоран за аутоматизацију прве две фазе, онда је континуирана испорука одговорна за наредне две. Стабилност процеса обезбеђују, између осталог, системи управљање конфигурацијом. Они прате промене у инфраструктури, базама података и зависности. Сама имплементација се може аутоматизовати или извршити ручно.

У процесу се постављају следећи захтеви:

  • Доступност информација о спремности за улазак у производно окружење и спремности за тренутно издавање (ЦД алати тестирају код и омогућавају да се процени ефекат промена у издању).
  • Укупна одговорност за финални производ. Тим производа - менаџери, програмери, тестери - размишљају о резултату, а не само о својој области одговорности (резултат је радно издање које је доступно корисницима производа).

У ЦД-овима се обично користи код, а за прикупљање мишљења купаца – принцип мрачно лансирање. Нова функција је први пут пуштена малом сегменту корисника - њихово искуство у интеракцији са производом помаже да се пронађу недостаци и грешке које нису примећене током интерног тестирања.

Која је корист

Континуирана испорука помаже да се поједностави примену кода, што има позитиван утицај на продуктивност и смањује вероватноћу изгоревања запослених. На крају, ово смањује укупне трошкове развоја. На пример, ЦД је помогао једном од ХП тимова смањити таквих трошкова за 40%.

Поред тога, према студији из 2016. (страница 28 документи) - компаније које су имплементирале ЦД решавају проблеме безбедности информација 50% брже од оних које не користе приступ. До неке мере, ова разлика се може објаснити перформансама алата за аутоматизацију процеса.

Још један плус је убрзање ослобађања. Континуирана испорука у финском развојном студију помогао повећати брзину склапања кода за 25%.

Потенцијалне потешкоће

Први и главни проблем је потреба да се поново изграде познати процеси. Да бисте показали предности новог приступа, вреди постепено прелазити на ЦД, почевши не од најзахтевнијих апликација.

Други потенцијални проблем је велики број грана кода. Последица „гранања“ су чести сукоби и даљи губитак великог времена. Могуће решење – приступ нема грана.

Конкретно, у неким компанијама главне потешкоће настају са тестирањем - потребно је превише времена. Резултати тестова се често морају анализирати ручно, али могуће решење може бити да се упореде тестови у раним фазама имплементације ЦД-а.

Такође би требало да обучите запослене да раде са новим алатима - прелиминарни образовни програм ће уштедети труд и време програмерима.

Помоћ: шта је континуална испорука
/Флицкр/ х.гер1969 / ЦЦ БИ-СА

Алат

Ево неколико отворених алата за континуирану испоруку:

  • ГоЦД — сервер за континуирану испоруку у Јави и ЈРуби он Раилс. Омогућава вам да контролишете цео процес испоруке апликације: буилд—тест—релеасе. Алат се дистрибуира под лиценцом Апацхе 2.0. Можете га пронаћи на званичном сајту водич за подешавање.
  • цапистрано — оквир за креирање скрипти које аутоматизују примену апликација у Руби, Јава или ПХП. Цапистрано је у стању да извршава команде на удаљеној машини тако што се повезује на њу преко ССХ-а. Ради са другим алатима за континуирану интеграцију и испоруку, као што је Интегрити ЦИ сервер.
  • Градле је вишеплатформски алат који аутоматизује цео циклус развоја апликације. Градле ради са Јава, Питхон, Ц/Ц++, Сцала, итд. Постоји интеграција са Ецлипсе, ИнтеллиЈ и Јенкинс.
  • Дроне - ЦД платформа на Го језику. Дрон се може поставити на лицу места или у облаку. Алат је изграђен на врху контејнера и користи ИАМЛ датотеке за управљање њима.
  • Спиннакер — платформа за континуирану испоруку кода у мулти-цлоуд системима. Развијен од стране Нетфлик-а, Гоогле инжењери су одиграли велику улогу у развоју алата. Упутства за инсталацију пронађите на званичном сајту.

Шта читати на нашем корпоративном блогу:

Извор: ввв.хабр.цом

Додај коментар