Varem me JĂ€tkuv integreerimine (CI). JĂ€tkame pideva tarnimisega. See on tarkvaraarenduse meetodite kogum. See aitab tagada koodi valmisoleku juurutamiseks.
/ Pixabay / /
Ajalugu
SÔnapaar 'pidev tarnimine' oli nÀhtav juba aastal 2001 peamiste pÔhimÔtete nimekirja alguses: 'Eelis on klientide probleemide lahendamine pideva töötava tarkvara kohaletoimetamise kaudu.'
Aastal 2010 avaldasid Jez Humble ja David Farley pideva tarnimise kohta. Autorite idee kohaselt tÀiendavad CD lÀhenemisviisi ja lihtsustavad koodi ettevalmistamist juurutamiseks.
PĂ€rast raamatu avaldamist hakkas lĂ€henemine populaarsust koguma ja vaid paari aastaga sai sellest praktiliselt ĂŒldiselt tunnustatud. Vastavalt , mis viidi lĂ€bi ĂŒle 600 arendaja ja IT-juhi seas 2014. aastal, olid 97% tehnilistest juhtidest ja 84% programmeerijatest tuttavad pideva tarnimisega.
Praegu jÀÀb see lĂ€henemine ĂŒheks populaarseimaks. 2018. aasta uuringu andmetel, kus osales IT-spetsialistide kogukond DevOps ja Jenkins Community, pool enam kui tuhande vastaja seast.
Kuidas pidev tarnimine töötab
Baasi CD â koodi valmidus juurutamiseks. Selle ĂŒlesande tĂ€itmiseks kasutatakse tarkvara vabastamise ettevalmistamise protsessi automatiseerimist. See peab olema standardne erinevates arenduskeskkondades, mis aitab kiiremini leida nĂ”rkusi ja neid optimeerida. NĂ€iteks kiirendada testimist.
Jatkusuutliku kohaletoimetamise (Continuous Delivery) protsessi nÀide nÀeb vÀlja jÀrgmine:

Kui esitatud kahe etapi automatiseerimise eest vastutab Continuous Integration lĂ€henemine, siis jĂ€rgmiste kahe etapi eest vastutab Continuous Delivery. Protsessi stabiilsust tagatakse ka konfigureerimise juhtimissĂŒsteemide kaudu. . Nad jĂ€lgivad muudatusi infrastruktuuris, andmebaasides ja sĂ”ltuvustes. Ise rakendamine vĂ”ib olla automatiseeritud vĂ”i toimuda kĂ€sitsi.
Protsessile esitatakse jÀrgmised nÔuded:
- Teave valmistumisest production-keskkonda, samuti valmisolek otse vabastamiseks (CD-tööriistad testivad koodi ja vÔimaldavad hinnata muudatuste mÔju vabastamisel).
- LĂ”pp-produkti ĂŒldine vastutus. Toote meeskond â juhid, arendajad, testijad â mĂ”tlevad tulemusele, mitte ainult oma vastutusala peale (tulemus on töötav versioon, mis on toodete kasutajatele kergesti kĂ€ttesaadav).
CD-s rakendatakse tavaliselt , ja klientide tagasiside kogumiseks kasutatakse pĂ”himĂ”tet . Uus funktsioon kĂ€ivitatakse esmalt vĂ€ikese kasutajate segmentide jaoks â nende toote kasutuskogemus aitab avastada vigu ja tĂ”rkeid, mida sisetestimise ajal ei mĂ€rgatud.
Milline on kasu
Continuous Delivery lihtsustab koodi juurutamise protsessi, mis parandab tootlikkust ja vĂ€hendab töötajate emotsionaalse lĂ€bipĂ”lemise tĂ”enĂ€osust. LĂ”ppkokkuvĂ”ttes vĂ€hendab see ka ĂŒldisi arenduskulusid. NĂ€iteks aitas CD ĂŒhel HP meeskonnal selliseid kulusid 40%.
Pealegi â vastavalt 2016. aasta uuringule (leht 28 ) lahendavad CD-d rakendanud ettevĂ”tted probleeme IB-ga 50% kiiremini kui need, kes ei kasuta seda lĂ€henemist. Teatud mĂ”ttes on sellist erinevust vĂ”imalik seletada protsessi automatiseerimise tööriistade toimimisega.
Veel plussi â versioonide vĂ€ljalaskmise kiirus. Soome arendusstuudios aitas pidev tarnimine koodi koostamise kiirus 25%.
Potentsiaalsed raskused
Esimene ja peamine probleem on vajadus harjumuspĂ€raseid protsesse ĂŒmber ehitada. Uue lĂ€henemise kasu demonstreerimiseks tuleks CD-le jĂ€rk-jĂ€rgult ĂŒle minna, alustades mitte kĂ”ige tööintensiivsematest rakendustest.
Teine vĂ”imalike probleemide rĂŒhm on suur hulk koodiharusid. âOkayâ jĂ€rgse tagajĂ€rjena tekivad sagedased konfliktid ja ajakadu. VĂ”imalik lahendus on lĂ€henemine .
Konkreetsemalt, mĂ”nedes ettevĂ”tetes tekivad peamised raskused testimisega â sellele kulub liiga palju aega. Testitulemuste analĂŒĂŒs toimub sageli kĂ€sitsi, kuid vĂ”imalikuks lahenduseks on testide paralleelerakendamine CD esimeseid etappe.
Samuti tuleks koolitada töötajaid uute tööriistade kasutamiseks â eelnev Ă”petus sÀÀstab arendajate jĂ”udude ja aega.

/ Flickr / /
Tööriistad
Toome vÀlja mÔned avatud tööriistad pidevaks tarnimiseks:
- â server pide pidejatamiseks Java ja JRuby on Railsis. See vĂ”imaldab kontrollida kogu rakenduse pideva tarnimise protsessi: buildâtestârelease. Tööriist on litsentseeritud Apache 2.0 alusel. Ametlikul veebilehelt leiate .
- â raamistik, mis automatiseerib rakenduste juurutamise skriptide loomise Ruby, Java vĂ”i PHP jaoks. Capistrano suudab kaugmasinal kĂ€ske tĂ€ita, ĂŒ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. Integreerumine Eclipse'i, IntelliJ'i ja Jenkinsiga.
- â CD platvorm Go keeles. Drone'i saab juurutada on-premise vĂ”i pilves. Tööriist on ĂŒles ehitatud konteineritele ja kasutab YAML-faile nende haldamiseks.
- â platvorm pideva koodi tarnimise jaoks mitme pilve sĂŒsteemidesse. Arendatud Netflixis, mĂ€ngis seadme arendamisel suurt rolli Google'i insenerid. Installimise juhendi leiate .
Mida lugeda meie ettevÔtte blogis:
Allikas: habr.com
