Pagalba: kas yra nuolatinis pristatymas

Anksčiau mes pasakojo apie nuolatinę integraciją (CI). Tęskime Nuolatinį pristatymą. Tai programinės įrangos kūrimo metodų rinkinys. Tai padeda užtikrinti, kad jūsų kodas būtų paruoštas diegti.

Pagalba: kas yra nuolatinis pristatymas
/Pixabay/ bluebudgie / PL

Istorija

Frazė nepertraukiamas pristatymas gali būti matoma vėl judrus manifestas nuo 2001 m. pagrindinių principų sąrašo pradžioje: „Prioritetas – klientų problemų sprendimas, nuolat tiekiant naujausią programinę įrangą“.

2010 m. išleido Jez Humble ir David Farley knyga Nepertraukiamu pristatymu. Pasak autorių, CD papildo požiūrį Nuolatinė integracija ir leidžia supaprastinti kodo paruošimą diegimui.

Po knygos išleidimo toks požiūris pradėjo populiarėti ir vos per porą metų tapo beveik visuotinai priimtas. Pagal apklausa600 m., kuriame dalyvavo daugiau nei 2014 kūrėjų ir IT vadovų, 97% techninių vadovų ir 84% programuotojų buvo susipažinę su nuolatiniu pristatymu.

Dabar šis metodas išlieka vienas populiariausių. Remiantis 2018 m. atliktu tyrimu, kuriame dalyvavo IT bendruomenė „DevOps“ ir „Jenkins Community“, ji naudoja pusė iš daugiau nei tūkstančio apklaustų respondentų.

Kaip veikia nuolatinis pristatymas?

CD pagrindas yra kodo pasirengimas diegti. Šiai užduočiai atlikti naudojamas programinės įrangos paruošimo išleidimui proceso automatizavimas. Jis turėtų būti standartinis įvairiose kūrimo aplinkose, o tai padės greitai rasti silpnąsias vietas ir jas optimizuoti. Pavyzdžiui, paspartinkite testavimą.

Nepertraukiamo pristatymo proceso pavyzdys atrodo taip:

Pagalba: kas yra nuolatinis pristatymas

Jei nepertraukiamo integravimo metodas yra atsakingas už pirmųjų dviejų etapų automatizavimą, tai už kitus du etapus yra atsakingas nuolatinis pristatymas. Proceso stabilumą, be kita ko, užtikrina sistemos konfigūracijos valdymas. Jie stebi infrastruktūros, duomenų bazių ir priklausomybių pokyčius. Pats diegimas gali būti automatizuotas arba atliekamas rankiniu būdu.

Procesui keliami šie reikalavimai:

  • Informacijos apie pasirengimą patekti į gamybos aplinką ir pasirengimą nedelsiant išleisti prieinamumas (CD įrankiai testuoja kodą ir leidžia įvertinti leidimo pakeitimų poveikį).
  • Bendra atsakomybė už galutinį produktą. Produkto komanda – vadybininkai, kūrėjai, testuotojai – galvoja apie rezultatą, o ne tik apie savo atsakomybės sritį (rezultatas yra darbinė versija, prieinama produkto naudotojams).

Paprastai jis naudojamas kompaktiniuose diskuose kodo peržiūra, o klientų nuomonių rinkimui – principas tamsus paleidimas. Nauja funkcija pirmiausia išleidžiama nedidelei vartotojų grupei – jų patirtis bendraujant su produktu padeda rasti trūkumus ir klaidas, kurios nebuvo pastebėtos atliekant vidinį testavimą.

Kokia iš to nauda

Nuolatinis pristatymas padeda supaprastinti kodo diegimą, o tai teigiamai veikia produktyvumą ir sumažina darbuotojų perdegimo tikimybę. Galiausiai tai sumažina bendras plėtros išlaidas. Pavyzdžiui, CD padėjo vienai iš HP komandų sumažinti tokių išlaidų 40 proc.

Be to, pagal 2016 m. tyrimą (28 psl dokumentas) – įmonės, įdiegusios CD, informacijos saugumo problemas išsprendžia 50% greičiau nei tos, kurios metodo nesinaudoja. Tam tikru mastu šį skirtumą galima paaiškinti procesų automatizavimo įrankių našumu.

Kitas pliusas yra leidimų pagreitis. Nuolatinis pristatymas Suomijos plėtros studijoje padėjo padidinti kodo surinkimo greitį 25%.

Galimi sunkumai

Pirmoji ir pagrindinė problema yra poreikis atkurti pažįstamus procesus. Norint parodyti naujojo požiūrio naudą, verta pereiti prie kompaktinių diskų palaipsniui, pradedant ne nuo labiausiai darbo reikalaujančių programų.

Antra galima problema yra didelis kodo šakų skaičius. „Išsišakojimo“ pasekmė – dažni konfliktai ir tolesnis didelio laiko praradimas. Galimas sprendimas – priėjimas jokių šakų.

Visų pirma, kai kuriose įmonėse pagrindiniai sunkumai iškyla atliekant testavimą – tai užima per daug laiko. Bandymų rezultatus dažnai tenka analizuoti rankiniu būdu, tačiau galimas sprendimas gali būti testų lygiagretinimas ankstyvosiose CD diegimo stadijose.

Taip pat reikėtų mokyti darbuotojus dirbti su naujais įrankiais – išankstinė edukacinė programa sutaupys kūrėjų pastangų ir laiko.

Pagalba: kas yra nuolatinis pristatymas
/flickr/ h.ger1969 / CC BY-SA

Įrankiai

Štai keletas atvirų nuolatinio pristatymo įrankių:

  • GoCD — serveris nuolatiniam pristatymui Java ir JRuby on Rails. Leidžia valdyti visą programos pristatymo procesą: kūrimas – bandymas – išleidimas. Įrankis platinamas pagal Apache 2.0 licenciją. Jį galite rasti oficialioje svetainėje sąrankos vadovas.
  • Kapistranas — sistema, skirta kurti scenarijus, kurie automatizuoja programų diegimą Ruby, Java arba PHP. Capistrano gali vykdyti komandas nuotoliniame kompiuteryje, prisijungdamas prie jo per SSH. Veikia su kitais nuolatinio integravimo ir pristatymo įrankiais, pvz., Integrity CI serveriu.
  • Skleisti yra kelių platformų įrankis, kuris automatizuoja visą programų kūrimo ciklą. Gradle veikia su Java, Python, C/C++, Scala ir kt. Yra integracija su Eclipse, IntelliJ ir Jenkins.
  • tranas - CD platforma Go kalba. Dronas gali būti dislokuotas vietoje arba debesyje. Įrankis yra sukurtas ant konteinerių ir naudoja YAML failus jiems valdyti.
  • Spinnaker — platforma nuolatiniam kodo pristatymui kelių debesų sistemose. „Netflix“ sukurtas „Google“ inžinierius atliko svarbų vaidmenį kuriant įrankį. Montavimo instrukcijos raskite jį oficialioje svetainėje.

Ką skaityti mūsų įmonės tinklaraštyje:

Šaltinis: www.habr.com

Добавить комментарий