Referencë: çfarë është Continuous Delivery

Më parë ne treguam 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.

Referencë: çfarë është Continuous Delivery
/ Pixabay / bluebudgie / PL

Historia

Shprehja continuous delivery mund të ishte parë më parë në manifestin agile 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 libër për Continuous Delivery. Sipas autorëve, CD plotëson qasjen Continuous Integration 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 një ankete, 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, përdor 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:

Referencë: çfarë është Continuous Delivery

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 të menaxhimit të konfiguracioneve. 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 kontrolli i kodit, dhe pĂ«r mbledhjen e mendimeve tĂ« klientĂ«ve — parimi lĂ«shimi i errĂ«t. 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 të ulë këto shpenzime me 40%.

PĂ«rveç kĂ«saj — sipas njĂ« studimi tĂ« vitit 2016 (faqja 28 dokumenti) — 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 ndihmoi 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 pa degĂ«.

. 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.

Referencë: çfarë është Continuous Delivery
/ Flickr / h.ger1969 / CC BY-SA

Mjetet

Le të paraqesim disa mjete të hapura për Continuous Delivery:

  • GoCD — 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 udhĂ«zimin pĂ«r konfigurimin.
  • Capistrano — 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.
  • Gradle — 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.
  • Drone — 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.
  • Spinnaker — 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 do ta gjeni nĂ« faqen zyrtare.

ÇfarĂ« tĂ« lexoni nĂ« blogun tonĂ« korporativ:

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster