Më parë ne r Continuous Integration (CI). Të vazhdojmë me Continuous Delivery. Ky është një grup metodash për zhvillimin e softuerit. Ai ndihmon për të siguruar gatishmërinë e kodit për shpërndarje.
/ Pixabay / /
Historia
Shprehja continuous delivery mund të ishte parë më parë në nga viti 2001 në fillim të listës së parimeve thelbësore: "Prioriteti është zgjidhja e problemeve të klientit përmes shpërndarjes së vazhdueshme të softuerit të azhurnuar."
Në vitin 2010, Jez Humble dhe David Farley publikuan për Continuous Delivery. Sipas autorëve, CD plotëson qasjen dhe lejon thjeshtimin e përgatitjes së kodit për shpërndarje.
Pas publikimit të librit, qasja filloi të fitojë popullaritet dhe brenda disa viteve u bë pothuajse e pranuar gjerësisht. Sipas , e zhvilluar midis më shumë se 600 zhvilluesve dhe menaxherëve të IT-së në vitin 2014, 97% e udhëheqësve teknikë dhe 84% e programuesve ishin të njohur me Continuous Delivery.
Aktualisht, kjo qasje vazhdon të jetë një nga më të njohurat. Sipas një studimi të vitit 2018, në të cilin u përfshi komuniteti i specialistëve të IT-së DevOps dhe Jenkins Community, gjysma e më shumë se njëmijë përgjegjësve të anketuar.
Si funksionon Continuous Delivery
Baza e CD-së është gatishmëria e kodit për shpërndarje. Për të realizuar këtë qëllim, përdoret automatizimi i procesit të përgatitjes së softuerit për publikim. Ai duhet të jetë standard për ambiente të ndryshme zhvillimi, gjë që do të ndihmojë për të gjetur më shpejt dobësitë dhe për t'i optimizuar ato. Për shembull, për të përshpejtuar testimin.
Shembulli i procesit të Continuous Delivery duket si në vijim:

Nëse për automatizimin e dy fazave të para është përgjegjës qasja Continuous Integration, për dy fazat e tjera është Continuous Delivery. Stabiliteti i procesit sigurohet, përfshirë përmes sistemeve . Ato monitorojnë ndryshimet në infrastrukturë, databaza dhe varësi. Shpërndarja vetë mund të jetë e automatizuar ose të kryhet manualisht.
Procesit i paraqiten kërkesa të tilla:
- Disponueshmëria e informacionit mbi gatishmërinë për të dalë në ambientin e production dhe gatishmëria për publikimin e menjëhershëm (mjetet CD testojnë kodin dhe japin mundësinë për të vlerësuar efektin e ndryshimeve në publikim).
- PĂ«rgjegjĂ«sia e pĂ«rgjithshme pĂ«r produktin pĂ«rfundimtar. Ekipi i produktit â menaxherĂ«t, zhvilluesit, testuesit â mendojnĂ« pĂ«r rezultatin, jo vetĂ«m pĂ«r zonĂ«n e tyre tĂ« pĂ«rgjegjĂ«sisĂ« (rezultati Ă«shtĂ« njĂ« version i punĂ«s, i cili Ă«shtĂ« nĂ« dispozicion pĂ«r pĂ«rdoruesit e produktit).
NĂ« CD zakonisht aplikohet , dhe pĂ«r mbledhjen e mendimeve tĂ« klientĂ«ve â parimi . NjĂ« funksion i ri fillimisht lĂ«shohet pĂ«r njĂ« segment tĂ« vogĂ«l tĂ« pĂ«rdoruesve â pĂ«rvoja e tyre me produktin ndihmon nĂ« gjetjen e gabimeve dhe defekteve qĂ« nuk janĂ« vĂ«rejtur gjatĂ« testeve tĂ« brendshme.
Cila është përfitimi
Continuous Delivery ndihmon në thjeshtimin e shpërndarjes së kodit, që ndikon pozitivisht në produktivitetin dhe ul mundësinë e djegies emocionale të punonjësve. Në fund të fundit, kjo gjithashtu ul shpenzimet totale për zhvillimin. Për shembull, CD ndihmoi një nga ekipet e HP këto shpenzime me 40%.
PĂ«rveç kĂ«saj â sipas njĂ« studimi tĂ« vitit 2016 (faqja 28 ) â kompanitĂ« qĂ« zbatonin CD, zgjidhnin probleme me sigurinĂ« e informacionit 50% mĂ« shpejt sesa ata qĂ« nuk e pĂ«rdorin kĂ«tĂ« qasje. NĂ« njĂ« farĂ« mase, ky ndryshim mund tĂ« shpjegohet me ndihmĂ«n e mjeteve tĂ« automatizimit tĂ« procesit.
Një tjetër avantazh është përshpejtimi i lëshimeve. Në një studio zhvillimi në Finlandë, shpërndarja e vazhdueshme të rrisë shpejtësinë e ndërtimit të kodit me 25%.
Vështirësitë potenciale
Problemi i parë dhe kryesor është nevoja për të riparë proceset e zakonshme. Për të treguar dobinë e qasjes së re, është e rëndësishme të kaloni gradualisht për në CD, duke filluar nga aplikacionet më pak kërkuese.
Problemi i dytĂ« potencial Ă«shtĂ« numri i madh i degĂ«ve tĂ« kodit. Pasojat e "degĂ«zimit" â konflikte tĂ« shpeshta dhe humbje tĂ« mĂ«dha kohe. NjĂ« zgjidhje e mundshme Ă«shtĂ« qasja .
. NĂ« disa kompani, vĂ«shtirĂ«sitĂ« kryesore ndodhin me testimin â ai merr shumĂ« kohĂ«. Rezultatet e testeve shpesh analizohen manualisht, por njĂ« zgjidhje mund tĂ« jetĂ« pĂ«rshpejtimi i testeve nĂ« fazat e para tĂ« implementimit tĂ« CD.
Gjithashtu, Ă«shtĂ« e nevojshme tĂ« edukoni punonjĂ«sit pĂ«r pĂ«rdorimin e mjeteve tĂ« reja â njĂ« trajnim paraprak do t'i kursejĂ« zhvilluesve energjinĂ« dhe kohĂ«n.

/ Flickr / /
Mjetet
Le të paraqesim disa mjete të hapura për Continuous Delivery:
- â server pĂ«r dorĂ«zimin e vazhdueshĂ«m nĂ« Java dhe JRuby on Rails. Lejon kontrollin e gjithĂ« procesit tĂ« dorĂ«zimit tĂ« aplikacionit: buildâtestârelease. Instrumenti shpĂ«rndan me licencĂ«n Apache 2.0. NĂ« faqen zyrtare mund tĂ« gjeni .
- â njĂ« framework pĂ«r krijimin e skripteve qĂ« automatizojnĂ« shpĂ«rndarjen e aplikacioneve nĂ« Ruby, Java ose PHP. Capistrano Ă«shtĂ« nĂ« gjendje tĂ« ekzekutojĂ« komanda nĂ« njĂ« makinĂ« tĂ« largĂ«t, duke u lidhur me tĂ« pĂ«rmes SSH. Punon me mjete tĂ« tjera tĂ« integrimit dhe dorĂ«zimit tĂ« vazhdueshĂ«m, si CI-serveri Integrity.
- â njĂ« instrument shumĂ«platformĂ«sh qĂ« automatizon tĂ« gjithĂ« ciklin e zhvillimit tĂ« aplikacioneve. Gradle punon me Java, Python, C/C++, Scala etj. Ka integrim me Eclipse, IntelliJ dhe Jenkins.
- â njĂ« platformĂ« pĂ«r CD nĂ« gjuhĂ«n Go. Drone mund tĂ« vendoset nĂ« on-premise ose nĂ« cloud. Instrumenti Ă«shtĂ« ndĂ«rtuar mbi konteinerĂ« dhe pĂ«rdor skedarĂ« YAML pĂ«r t'i menaxhuar ata.
- â njĂ« platformĂ« pĂ«r dorĂ«zimin e vazhdueshĂ«m tĂ« kodit nĂ« sistemi multi-cloud. E zhvilluar nga Netflix, njĂ« rol tĂ« madh nĂ« zhvillimin e instrumentit kanĂ« luajtur inxhinierĂ«t e Google. UdhĂ«zimin pĂ«r instalimin e tij .
ĂfarĂ« tĂ« lexoni nĂ« blogun tonĂ« korporativ:
Burimi: habr.com
