Pomoč: kaj je neprekinjena dostava

Prej smo povedal o stalni integraciji (CI). Nadaljujmo z neprekinjeno dostavo. To je nabor metod razvoja programske opreme. Pomaga zagotoviti, da je vaša koda pripravljena za uvajanje.

Pomoč: kaj je neprekinjena dostava
/Pixabay/ bluebudgie / PL

Zgodba

Besedno zvezo stalna dostava je bilo mogoče videti nazaj v agilni manifest iz leta 2001 na začetku seznama osnovnih načel: “Prioriteta je reševanje težav kupcev s stalno dobavo posodobljene programske opreme.”

Leta 2010 sta Jez Humble in David Farley izdala книгу z neprekinjeno dostavo. Po mnenju avtorjev CD dopolnjuje pristop Stalna integracija in vam omogoča poenostavitev priprave kode za uvajanje.

Po izidu knjige je pristop začel pridobivati ​​na priljubljenosti in v le nekaj letih postal skoraj splošno sprejet. Po navedbah raziskava, ki je bil leta 600 izveden med več kot 2014 razvijalci in vodji IT, je 97 % tehničnih vodij in 84 % programerjev poznalo neprekinjeno dostavo.

Zdaj ta pristop ostaja eden najbolj priljubljenih. Glede na študijo iz leta 2018, ki je vključevala skupnost IT DevOps in Jenkins Community, je uporablja polovica od več kot tisoč vprašanih.

Kako deluje neprekinjena dostava?

Osnova CD-ja je pripravljenost kode za uvajanje. Za izvedbo te naloge se uporablja avtomatizacija procesa priprave programske opreme za izdajo. Moral bi biti standarden v različnih razvojnih okoljih, kar bo pomagalo hitro najti šibke točke in jih optimizirati. Na primer, pospešite testiranje.

Primer postopka neprekinjene dostave je videti takole:

Pomoč: kaj je neprekinjena dostava

Če je pristop neprekinjene integracije odgovoren za avtomatizacijo prvih dveh stopenj, potem je neprekinjena dostava odgovorna za naslednji dve. Stabilnost procesa med drugim zagotavljajo sistemi upravljanje konfiguracije. Spremljajo spremembe v infrastrukturi, bazah podatkov in odvisnostih. Sama uvedba je lahko avtomatizirana ali izvedena ročno.

Za postopek so naložene naslednje zahteve:

  • Razpoložljivost informacij o pripravljenosti za vstop v produkcijsko okolje in pripravljenosti za takojšnjo izdajo (CD orodja testirajo kodo in omogočajo oceno učinka sprememb v izdaji).
  • Celotna odgovornost za končni izdelek. Produktna ekipa – menedžerji, razvijalci, preizkuševalci – razmišljajo o rezultatu in ne le o svojem področju odgovornosti (rezultat je delujoča izdaja, ki je na voljo uporabnikom produkta).

Na CD-jih se običajno uporablja pregled kode, za zbiranje mnenj kupcev pa - princip temno izstrelitev. Nova funkcija je najprej izdana majhnemu segmentu uporabnikov - njihova izkušnja interakcije z izdelkom pomaga najti pomanjkljivosti in napake, ki niso bile opažene med internim testiranjem.

Kakšna je korist

Continuous Delivery pomaga poenostaviti uvajanje kode, kar pozitivno vpliva na produktivnost in zmanjšuje verjetnost izgorelosti zaposlenih. Navsezadnje to zmanjša splošne stroške razvoja. CD je na primer pomagal eni od HP-jevih ekip zmanjšanje te stroške za 40 %.

Poleg tega glede na študijo iz leta 2016 (stran 28 dokument) - podjetja, ki so implementirala CD, rešujejo probleme informacijske varnosti 50 % hitreje kot tista, ki pristopa ne uporabljajo. Do neke mere je to razliko mogoče pojasniti z zmogljivostjo orodij za avtomatizacijo procesov.

Še en plus je pospešek izpustov. Neprekinjena dostava v finskem razvojnem studiu pomagal povečajte hitrost sestavljanja kode za 25 %.

Potencialne težave

Prva in glavna težava je potreba po ponovni izgradnji znanih procesov. Da bi pokazali prednosti novega pristopa, je vredno postopoma preiti na CD, ne da bi začeli z najbolj delovno intenzivnimi aplikacijami.

Druga možna težava je veliko število vej kode. Posledica »razvejanja« so pogosti konflikti in nadaljnja izguba velike količine časa. Možna rešitev – pristop brez podružnic.

Zlasti v nekaterih podjetjih se glavne težave pojavljajo pri testiranju - vzame preveč časa. Rezultate testov je pogosto treba analizirati ročno, vendar je možna rešitev lahko paralelizacija testov v zgodnjih fazah implementacije CD.

Prav tako bi morali usposobiti zaposlene za delo z novimi orodji - predhodni izobraževalni program bo razvijalcem prihranil trud in čas.

Pomoč: kaj je neprekinjena dostava
/flickr/ h.ger1969 / CC BY-SA

Orodja

Tukaj je nekaj odprtih orodij za neprekinjeno dostavo:

  • GoCD — strežnik za neprekinjeno dostavo v Javi in ​​JRuby on Rails. Omogoča vam nadzor nad celotnim postopkom dostave aplikacije: izgradnja—preizkus—izdaja. Orodje se distribuira pod licenco Apache 2.0. Najdete ga na uradni spletni strani vodnik za namestitev.
  • Capistrano — okvir za ustvarjanje skriptov, ki avtomatizirajo uvajanje aplikacij v Rubyju, Javi ali PHP. Capistrano lahko izvaja ukaze na oddaljenem računalniku tako, da se z njim poveže prek SSH. Deluje z drugimi orodji za stalno integracijo in dostavo, kot je strežnik Integrity CI.
  • Gradle je orodje za več platform, ki avtomatizira celoten cikel razvoja aplikacije. Gradle deluje z Javo, Pythonom, C/C++, Scalo itd. Obstaja integracija z Eclipse, IntelliJ in Jenkins.
  • Drone - CD platforma v jeziku Go. Dron je mogoče namestiti na mestu uporabe ali v oblaku. Orodje je zgrajeno na vsebnikih in za njihovo upravljanje uporablja datoteke YAML.
  • Spinnaker — platforma za neprekinjeno dostavo kode v sistemih z več oblaki. Razvil ga je Netflix, Googlovi inženirji pa so imeli veliko vlogo pri razvoju orodja. Navodila za namestitev najdete na uradni spletni strani.

Kaj prebrati na našem poslovnem blogu:

Vir: www.habr.com

Dodaj komentar