Palīdzība: kas ir nepārtraukta piegāde

Agrāk mēs stāstÄ«ja par nepārtrauktu integrāciju (CI). Turpināsim ar nepārtrauktu piegādi. Å is ir programmatÅ«ras izstrādes metožu kopums. Tas palÄ«dz nodroÅ”ināt, ka kods ir gatavs izvietoÅ”anai.

Palīdzība: kas ir nepārtraukta piegāde
/Pixabay/ bluebudgie / PL

Stāsts

Frāze nepārtraukta piegāde bija redzama atpakaļ veikls manifests no 2001. gada pamatprincipu saraksta sākumā: ā€œPrioritāte ir klientu problēmu risināŔana, nepārtraukti piegādājot jaunāko programmatÅ«ru.ā€

2010. gadā izlaida Džess Hambls un Deivids Fārlijs grāmatu ar nepārtrauktu piegādi. Pēc autoru domām, CD papildina pieeju Nepārtraukta integrācija un ļauj vienkārÅ”ot koda sagatavoÅ”anu izvietoÅ”anai.

Pēc grāmatas iznākÅ”anas pieeja sāka iegÅ«t popularitāti un jau pāris gadu laikā kļuva gandrÄ«z vispārpieņemta. Saskaņā ar aptauja600. gadā, kurā piedalÄ«jās vairāk nekā 2014 izstrādātāju un IT vadÄ«tāju, 97% tehnisko vadÄ«tāju un 84% programmētāju bija pazÄ«stami ar nepārtraukto piegādi.

Tagad Ŕī pieeja joprojām ir viena no populārākajām. Saskaņā ar 2018. gada pētÄ«jumu, kurā piedalÄ«jās IT kopiena DevOps un Jenkins kopiena, tā izmanto puse no vairāk nekā tÅ«kstoÅ” aptaujātajiem respondentiem.

Kā darbojas nepārtrauktā piegāde?

CD pamats ir koda gatavÄ«ba izvietoÅ”anai. Lai veiktu Å”o uzdevumu, tiek izmantota programmatÅ«ras sagatavoÅ”anas izlaiÅ”anai procesa automatizācija. Tam jābÅ«t standartam dažādās izstrādes vidēs, kas palÄ«dzēs ātri atrast vājās vietas un tās optimizēt. Piemēram, paātriniet testÄ“Å”anu.

Nepārtrauktas piegādes procesa piemērs izskatās Ŕādi:

Palīdzība: kas ir nepārtraukta piegāde

Ja nepārtrauktās integrācijas pieeja ir atbildÄ«ga par pirmo divu posmu automatizāciju, tad nepārtrauktā piegāde ir atbildÄ«ga par nākamajiem diviem. Procesa stabilitāti cita starpā nodroÅ”ina sistēmas konfigurācijas pārvaldÄ«ba. Viņi uzrauga izmaiņas infrastruktÅ«rā, datu bāzēs un atkarÄ«bās. Pati izvietoÅ”anu var automatizēt vai veikt manuāli.

Procesam tiek izvirzītas Ŕādas prasības:

  • Informācijas pieejamÄ«ba par gatavÄ«bu ienākt ražoÅ”anas vidē un gatavÄ«bu tÅ«lÄ«tējai izlaiÅ”anai (CD rÄ«ki pārbauda kodu un dod iespēju novērtēt izlaiduma izmaiņu ietekmi).
  • Vispārējā atbildÄ«ba par galaproduktu. Produktu komanda ā€“ vadÄ«tāji, izstrādātāji, testētāji ā€“ domā par rezultātu, nevis tikai par savu atbildÄ«bas jomu (rezultāts ir darba izlaidums, kas pieejams produkta lietotājiem).

CD to parasti izmanto koda apskats, un klientu viedokļu apkopoÅ”anai - princips tumŔā palaiÅ”ana. Jauna funkcija vispirms tiek izlaista nelielam lietotāju segmentam ā€“ viņu pieredze mijiedarbÄ«bā ar produktu palÄ«dz atrast trÅ«kumus un kļūdas, kas netika pamanÄ«tas iekŔējās testÄ“Å”anas laikā.

Kāds ir labums

Nepārtraukta piegāde palÄ«dz vienkārÅ”ot koda izvietoÅ”anu, kas pozitÄ«vi ietekmē produktivitāti un samazina darbinieku izdegÅ”anas iespējamÄ«bu. Galu galā tas samazina kopējās izstrādes izmaksas. Piemēram, CD palÄ«dzēja vienai no ZS komandām samazināt Ŕādas izmaksas par 40%.

Turklāt saskaņā ar 2016. gada pētÄ«jumu (28. lpp dokuments) - uzņēmumi, kas ir ieviesuÅ”i CD, informācijas droŔības problēmas atrisina par 50% ātrāk nekā tie, kas Å”o pieeju neizmanto. Zināmā mērā Å”o atŔķirÄ«bu var izskaidrot ar procesu automatizācijas rÄ«ku veiktspēju.

Vēl viens plus ir izlaidumu paātrinājums. Nepārtraukta piegāde Somijas attīstības studijā palīdzēja palielināt koda montāžas ātrumu par 25%.

Iespējamās grūtības

Pirmā un galvenā problēma ir nepiecieÅ”amÄ«ba atjaunot pazÄ«stamos procesus. Lai parādÄ«tu jaunās pieejas priekÅ”rocÄ«bas, uz CD ir vērts pāriet pakāpeniski, sākot nevis ar darbietilpÄ«gākajām lietojumprogrammām.

Otra iespējamā problēma ir lielais koda atzaru skaits. ā€œSazaroÅ”anāsā€ sekas ir bieži konflikti un turpmāks liela laika zaudējums. Iespējamais risinājums ā€“ pieeja nav zaru.

Jo Ä«paÅ”i dažos uzņēmumos galvenās grÅ«tÄ«bas rodas ar testÄ“Å”anu - tas aizņem pārāk daudz laika. Pārbaužu rezultāti bieži ir jāanalizē manuāli, taču iespējamais risinājums var bÅ«t testu paralēlināŔana CD ievieÅ”anas sākumposmā.

Jums vajadzētu arÄ« apmācÄ«t darbiniekus strādāt ar jauniem rÄ«kiem - iepriekŔēja izglÄ«tÄ«bas programma ietaupÄ«s izstrādātāju pÅ«les un laiku.

Palīdzība: kas ir nepārtraukta piegāde
/flickr/ h.ger1969 / CC BY-SA

Darbarīki

Šeit ir daži atvērti nepārtrauktas piegādes rīki:

  • GoCD ā€” serveris nepārtrauktai Java un JRuby on Rails piegādei. Ä»auj kontrolēt visu lietojumprogrammu piegādes procesu: izveidoÅ”ana-testÄ“Å”ana-izlaide. RÄ«ks tiek izplatÄ«ts saskaņā ar Apache 2.0 licenci. To var atrast oficiālajā vietnē iestatÄ«Å”anas rokasgrāmata.
  • Kapistrano ā€” ietvars skriptu izveidei, kas automatizē lietojumprogrammu izvietoÅ”anu Ruby, Java vai PHP. Capistrano spēj izpildÄ«t komandas attālā maŔīnā, izveidojot savienojumu ar to, izmantojot SSH. Darbojas ar citiem nepārtrauktas integrācijas un piegādes rÄ«kiem, piemēram, Integrity CI serveri.
  • Gradle ir vairāku platformu rÄ«ks, kas automatizē visu lietojumprogrammu izstrādes ciklu. Gradle darbojas ar Java, Python, C/C++, Scala utt. Ir integrācija ar Eclipse, IntelliJ un Jenkins.
  • dÅ«koņa - CD platforma Go valodā. Dronu var izvietot uz vietas vai mākonÄ«. Å is rÄ«ks ir izveidots uz konteineriem, un to pārvaldÄ«bai tiek izmantoti YAML faili.
  • Spinnaker ā€” platforma nepārtrauktai koda piegādei vairāku mākoņu sistēmās. Google inženieriem, ko izstrādājis Netflix, bija liela loma rÄ«ka izstrādē. UzstādÄ«Å”anas instrukcijas atrodiet to oficiālajā vietnē.

Ko lasīt mūsu korporatīvajā emuārā:

Avots: www.habr.com

Pievieno komentāru