Abi: mis on pidev kohaletoimetamine

Varem meie rääkinud pideva integratsiooni (CI) kohta. Jätkame pideva kohaletoimetamisega. See on tarkvara arendusmeetodite komplekt. See aitab tagada, et teie kood on juurutamiseks valmis.

Abi: mis on pidev kohaletoimetamine
/Pixabay/ bluebudgie / PL

Lugu

Väljendit pidev tarnimine võis uuesti näha agiilne manifest aastast 2001 põhiprintsiipide loetelu alguses: "Prioriteet on klientide probleemide lahendamine läbi ajakohase tarkvara pideva tarnimise."

2010. aastal avaldasid Jez Humble ja David Farley raamat pideva kohaletoimetamise teel. Autorite arvates täiendab CD lähenemist Pidev integreerimine ja võimaldab teil lihtsustada koodi ettevalmistamist juurutamiseks.

Pärast raamatu ilmumist hakkas lähenemine koguma populaarsust ja juba paari aastaga sai see peaaegu üldtunnustatud. Vastavalt uuring600. aastal enam kui 2014 arendaja ja IT-juhi hulgas läbi viidud, 97% tehnilistest juhtidest ja 84% programmeerijatest olid pideva tarnega tuttavad.

Nüüd on see lähenemisviis endiselt üks populaarsemaid. IT-kogukonda DevOps ja Jenkinsi kogukonda hõlmanud 2018. aasta uuringu kohaselt on see kasutab pooled enam kui tuhandest küsitletud vastanust.

Kuidas pidev kohaletoimetamine töötab?

CD-aluseks on koodi valmisolek juurutamiseks. Selle ülesande täitmiseks kasutatakse tarkvara väljalaskmiseks ettevalmistamise protsessi automatiseerimist. See peaks olema standardne erinevates arenduskeskkondades, mis aitab kiiresti leida nõrgad kohad ja neid optimeerida. Näiteks kiirendage testimist.

Pideva kohaletoimetamise protsessi näide näeb välja järgmine:

Abi: mis on pidev kohaletoimetamine

Kui pideva integratsiooni lähenemisviis vastutab kahe esimese etapi automatiseerimise eest, siis Continuous Delivery vastutab kahe järgmise etapi eest. Protsessi stabiilsuse tagavad muuhulgas süsteemid Konfiguratsiooni juhtimine. Nad jälgivad muutusi infrastruktuuris, andmebaasides ja sõltuvustes. Juurutamist saab automatiseerida või käsitsi.

Protsessile seatakse järgmised nõuded:

  • Info kättesaadavus tootmiskeskkonda sisenemise ja kohese väljalaskmise valmisoleku kohta (CD tööriistad testivad koodi ja võimaldavad hinnata väljalaske muudatuste mõju).
  • Üldine vastutus lõpptoote eest. Tootemeeskond – juhid, arendajad, testijad – mõtlevad tulemusele, mitte ainult oma vastutusvaldkonnale (tulemuseks on töötav väljalase, mis on toote kasutajatele kättesaadav).

CD-del kasutatakse seda tavaliselt koodi ülevaade, ja klientide arvamuste kogumiseks - põhimõte tume käivitamine. Uus funktsioon avaldatakse esmalt väikesele kasutajate segmendile – nende tootega suhtlemise kogemus aitab leida puudusi ja vigu, mida sisetestimise käigus ei märgatud.

Mis kasu sellest on

Pidev tarnimine aitab lihtsustada koodi juurutamist, millel on positiivne mõju tootlikkusele ja väheneb töötajate läbipõlemise tõenäosus. Lõppkokkuvõttes vähendab see üldisi arenduskulusid. Näiteks CD aitas ühte HP meeskonda vähendama sellised kulud 40%.

Lisaks sellele vastavalt 2016. aasta uuringule (lk 28 dokument) - CD juurutanud ettevõtted lahendavad infoturbe probleeme 50% kiiremini kui need, kes lähenemist ei kasuta. Mingil määral võib seda erinevust seletada protsesside automatiseerimise tööriistade jõudlusega.

Teine pluss on väljaannete kiirendamine. Pidev tarne Soome arendusstuudios aitas suurendage koodi kokkupaneku kiirust 25% võrra.

Võimalikud raskused

Esimene ja peamine probleem on vajadus tuttavad protsessid uuesti üles ehitada. Et näidata uue lähenemise eeliseid, tasub CD-le üle minna järk-järgult, alustades mitte kõige töömahukamate rakendustega.

Teine võimalik probleem on koodiharude suur arv. Hargnemise tagajärjeks on sagedased konfliktid ja edasine suure aja kaotus. Võimalik lahendus – lähenemine oksi pole.

Eelkõige tekivad mõnes ettevõttes peamised raskused testimisega – see võtab liiga palju aega. Testitulemusi tuleb sageli käsitsi analüüsida, kuid võimalik lahendus võib olla testide paralleelsus CD juurutamise algfaasis.

Samuti tuleks koolitada töötajaid uute tööriistadega töötama – eelõppeprogramm säästab arendaja vaeva ja aega.

Abi: mis on pidev kohaletoimetamine
/Flickr/ h.ger1969 / CC BY-SA

Töövahendid

Siin on mõned pideva kohaletoimetamise avatud tööriistad:

  • GoCD — server pidevaks edastamiseks Javas ja JRuby on Railsis. Võimaldab juhtida kogu rakenduse edastamise protsessi: koostamine – testimine – vabastamine. Tööriista levitatakse Apache 2.0 litsentsi all. Selle leiate ametlikult veebisaidilt seadistusjuhend.
  • Kapistrano — raamistik skriptide loomiseks, mis automatiseerivad Ruby, Java või PHP rakenduste juurutamist. Capistrano suudab kaugmasinas käske täita, luues sellega ühenduse SSH kaudu. Töötab teiste pideva integreerimise ja edastamise tööriistadega, nagu Integrity CI server.
  • Gradle on mitme platvormiga tööriist, mis automatiseerib kogu rakenduse arendustsükli. Gradle töötab Java, Python, C/C++, Scala jt. Integratsioon on olemas Eclipse'i, IntelliJ ja Jenkinsiga.
  • undamine - CD-platvorm Go keeles. Drooni saab juurutada kohapeal või pilves. Tööriist on üles ehitatud konteinerite peale ja kasutab nende haldamiseks YAML-faile.
  • Spinnaker — platvorm koodi pidevaks edastamiseks mitme pilvesüsteemides. Netflixi poolt välja töötatud Google'i insenerid mängisid tööriista väljatöötamisel suurt rolli. Paigaldusjuhised leidke see ametlikul veebisaidil.

Mida lugeda meie ettevõtte ajaveebis:

Allikas: www.habr.com

Lisa kommentaar