Varem me Continuous Integration (CI) ja. JĂ€tkame Continuous Delivery-ga. See on tarkvaraarenduse meetodite kogum, mis aitab tagada, et kood on valmis juurutamiseks.
/ Pixabay / /
Ajalugu
SĂ”naĂŒhendit continuous delivery on nĂ€ha juba aastast 2001 pĂ”hialuste nimekirja alguses: âEelis on kliendi probleemide lahendamine, pakkudes pidevat ajakohast tarkvara.â
2010. aastal avaldasid Jez Humble ja David Farley Continuous Delivery kohta. Autorite kavatsus on, et CD tÀiendab lÀhenemist 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 , 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, 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:

Kui esimest kahe etapi automatiseerimist juhib Continuous Integration lÀhenemine, siis jÀrgmiste kahe eest vastutab Continuous Delivery. Protsessi stabiilsust tagavad ka 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 , ning klientide arvamuste kogumiseks â pĂ”himĂ”tet . 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 nende kulusid 40%.
Lisaks â vastavalt 2016. aasta uuringule (leht 28 ) â 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 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 .
. 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.

/ Flickr / /
Tööriistad
Toome vÀlja mÔned avatud tööriistad pidevaks kohaletoimetamiseks:
- â 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 .
- â 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.
- â 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.
- â 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.
- â pideva tarnimise platvorm multicloud sĂŒsteemides. Arendatud Netflixis, kusjuures suurt rolli tööriista arendamisel mĂ€ngisid Google'i insenerid. Paigaldusjuhendi leiate .
Mida lugeda meie ettevÔtte blogis:
Allikas: habr.com
