Teave: mis on Continuous Delivery

Varem me rÀÀkinud Continuous Integration (CI) ja. JÀtkame Continuous Delivery-ga. See on tarkvaraarenduse meetodite kogum, mis aitab tagada, et kood on valmis juurutamiseks.

Teave: mis on Continuous Delivery
/ Pixabay / bluebudgie / PL

Ajalugu

SĂ”naĂŒhendit continuous delivery on nĂ€ha juba agile-manifestis aastast 2001 pĂ”hialuste nimekirja alguses: „Eelis on kliendi probleemide lahendamine, pakkudes pidevat ajakohast tarkvara.“

2010. aastal avaldasid Jez Humble ja David Farley raamatu Continuous Delivery kohta. Autorite kavatsus on, et CD tÀiendab lÀhenemist Continuous Integration ja lihtsustab koodi ettevalmistamist juurutamiseks.

PĂ€rast raamatu avaldamist hakkas lĂ€henemine populaarsust koguma ja vaid paar aastat hiljem sai sellest peaaegu ĂŒldiselt aktsepteeritud. Vastavalt kĂŒsitlustele, mis viidi lĂ€bi enam kui 600 arendaja ja IT-juhiga 2014. aastal, olid 97% tehnilistest juhtidest ja 84% programmeerijatest kursis Continuous Delivery-ga.

Praegu jÀÀb see lĂ€henemine ĂŒheks kĂ”ige populaarsemaks. 2018. aasta uuringu andmetel, milles osales DevOps ja Jenkins kogukond, kasutab pool rohkem kui tuhandest kĂŒsitletud respondentist.

Kuidas Continuous Delivery töötab

CD pĂ”hialus on koodi valmisolek juurutamiseks. Selle ĂŒlesande tĂ€itmiseks kasutatakse tarkvara juurutamise protsessi automatiseerimist. See peab olema standardne erinevates arenduskeskkondades, mis aitab kiiremini leida nĂ”rkusi ja optimeerida neid. NĂ€iteks kiirendades testimist.

Continuous Delivery protsess nÀeb vÀlja jÀrgmine:

Teave: mis on Continuous Delivery

Kui esimest kahe etapi automatiseerimist juhib Continuous Integration lĂ€henemine, siis jĂ€rgmiste kahe eest vastutab Continuous Delivery. Protsessi stabiilsust tagavad ka konfiguratsioonihalduse sĂŒsteemid.Need jĂ€lgivad muudatusi infrastruktuuris, andmebaasides ja sĂ”ltuvustes. Ise juurutamine vĂ”ib olla automatiseeritud vĂ”i manu.

Protsessile esitatakse jÀrgmised nÔudmised:

  • Teave juurutusvalmiduse kohta ja valmidus otseseks vĂ€ljaandmiseks (CD-tööriistad testeivad koodi ja annavad vĂ”imaluse hinnata muudatuste mĂ”ju vĂ€ljaandes).
  • Üldine vastutus lĂ”ppprodukti eest. Toote meeskond — juhid, arendajad, testijad — mĂ”tlevad tulemusele, mitte ainult oma vastutusalale (tulemus — töötav versioon, mis on kasutajatele kergesti kĂ€tte saadav).

CD-s kasutatakse sageli koodi ĂŒlevaatust, ning klientide arvamuste kogumiseks — pĂ”himĂ”tet mustade kĂ€ivituste. Uut funktsiooni vabastatakse esmalt vĂ€ikesele kasutajate segmentile — nende kogemus toote kasutamisel aitab leida puudusi ja vigu, mida sisetestis ei mĂ€rgata.

Mis on kasu

Pidev kohaletoimetamine aitab koodi juurutamist lihtsustada, mis mĂ”jutab positiivselt tootlikkust ning vĂ€hendab töötajate emotsionaalset kurnatust. LĂ”ppkokkuvĂ”ttes vĂ€hendab see ka arenduskulusid. NĂ€iteks aitas CD ĂŒhe HP meeskonna vĂ€hendada nende kulusid 40%.

Lisaks — vastavalt 2016. aasta uuringule (leht 28 dokumentide) — lahendavad ettevĂ”tted, kes on rakendanud CD, 50% kiiremini infoturbe probleeme vĂ”rreldes nendega, kes seda lĂ€henemist ei kasuta. Osaliselt vĂ”ib sellist erinevust seletada automatiseerimistööriistade efektiivsusega.

Veel ĂŒks pluss — versioonide vĂ€ljalaske kiirus. Soome arendusstuudios aitas pidev kohaletoimetamine suurendada koodi kogumise kiirust 25%.

Potentsiaalsed raskused

Esimene ja peamine probleem on vajalikkus harjumuspĂ€raste protsesside ĂŒmberkorraldamiseks. Uue lĂ€henemise kasu nĂ€itamiseks on mĂ”istlik liikuda CD-le jĂ€rk-jĂ€rgult, alustades mitte kĂ”ige töömahukamatest rakendustest.

Teine potentsiaalne probleem on suur koodiharu hulk. Harude loomise tagajÀrg on sagedased konfliktid ja jÀrjekordsed aja kaotused. VÔimalik lahendus on lÀhenemine ilma harudeta.

. Eriti mĂ”nedes ettevĂ”tetes tekivad peamised raskused testimisega — selleks kulub liiga palju aega. Testitulemusi tuleb sageli analĂŒĂŒsida kĂ€sitsi, kuid vĂ”imalikuks lahenduseks vĂ”ib olla testide paralleelne tegemine CD rakendamise algfaasis.

Samuti tuleks töötajaid uute tööriistade kasutamise Ă”petamisel koolitada — eelnev teadlikkuse tĂ”stmine sÀÀstab arendajate energiat ja aega.

Teave: mis on Continuous Delivery
/ Flickr / h.ger1969 / CC BY-SA

Tööriistad

Toome vÀlja mÔned avatud tööriistad pidevaks kohaletoimetamiseks:

  • GoCD — server pide pide jĂ”udmist Java ja JRuby on Rails. See vĂ”imaldab kontrollida kogu rakenduse tarnimise protsessi: build—test—release. Tööriist levitatakse Apache 2.0 litsentsi alusel. Ametlikult lehelt leiate seadistamise juhendi.
  • Capistrano — raamistik skriptide loomiseks, mis automatiseerivad rakenduste juurutamist Ruby, Java vĂ”i PHP keeles. Capistrano suudab kĂ€ske tĂ€ita kaugarvutis, ĂŒhendades selle SSH kaudu. Töötab koos teiste pideva integreerimise ja tarnimise tööriistadega, nĂ€iteks CI-serveriga Integrity.
  • Gradle — mitme platvormiga tööriist, mis automatiseerib kogu rakenduste arendusprotsessi. Gradle töötab Java, Python, C/C++, Scala jne. Saadaval on integreerimine Eclipse'i, IntelliJ'i ja Jenkins'iga.
  • Drone — CD platvorm Go keeles. Drone'i saab juurutada on-premise vĂ”i pilves. Tööriist on ĂŒles ehitatud konteinerite pĂ”hjal ning kasutab nende haldamiseks YAML-faile.
  • Spinnaker — pideva tarnimise platvorm multicloud sĂŒsteemides. Arendatud Netflixis, kusjuures suurt rolli tööriista arendamisel mĂ€ngisid Google'i insenerid. Paigaldusjuhendi leiate ametlikult lehelt.

Mida lugeda meie ettevÔtte blogis:

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster