Helpo: kio estas Kontinua Livero

Antaŭe ni rakontis pri Daŭra Integriĝo (CI). Ni daŭrigu kun Daŭra Livero. Ĉi tio estas aro de programaj evoluaj metodoj. Ĝi helpas certigi, ke via kodo estas preta por deplojo.

Helpo: kio estas Kontinua Livero
/Pixabay/ blubuĝeto / PL

История

La frazo kontinua livero povus esti vidita reen en lerta manifesto de 2001 komence de la listo de bazaj principoj: "La prioritato estas solvi klientproblemojn per la kontinua livero de ĝisdata programaro."

En 2010, Jez Humble kaj David Farley publikigis la libro per Daŭra Livero. Laŭ la aŭtoroj, KD kompletigas la aliron Kontinua Integriĝo kaj permesas al vi simpligi la preparadon de kodo por deplojo.

Post la publikigo de la libro, la aliro komencis akiri popularecon kaj en nur kelkaj jaroj ĝi iĝis preskaŭ universale akceptita. Laŭ enketo, farita inter pli ol 600 programistoj kaj IT-manaĝeroj en 2014, 97% de teknikaj manaĝeroj kaj 84% de programistoj konis Continuous Delivery.

Nun ĉi tiu aliro restas unu el la plej popularaj. Laŭ studo de 2018 implikanta la IT-komunumon DevOps kaj Jenkins Community, ĝi uzoj duono de la pli ol mil enketitoj.

Kiel funkcias Kontinua Livero?

La KD-bazo estas la preteco de la kodo por deplojo. Por plenumi ĉi tiun taskon, aŭtomatigo de la procezo de preparado de programaro por liberigo estas uzata. Ĝi devus esti norma tra malsamaj evolumedioj, kio helpos rapide trovi malfortajn punktojn kaj optimumigi ilin. Ekzemple, akcelu testadon.

Ekzemplo de Daŭra Livera procezo aspektas jene:

Helpo: kio estas Kontinua Livero

Se la aliro de Kontinua Integriĝo respondecas pri aŭtomatigo de la unuaj du stadioj, tiam Kontinua Livero respondecas pri la sekvaj du. Proceza stabileco estas certigita, interalie, de sistemoj administrado de agordo. Ili kontrolas ŝanĝojn en infrastrukturo, datumbazoj kaj dependecoj. La deplojo mem povas esti aŭtomatigita aŭ farita permane.

La sekvaj postuloj estas truditaj al la procezo:

  • Havebleco de informoj pri preteco eniri la produktan medion kaj preteco por tuja liberigo (KD-iloj testas la kodon kaj ebligas taksi la efikon de ŝanĝoj en la eldono).
  • Ĝenerala respondeco por la fina produkto. La produktteamo - administrantoj, programistoj, testantoj - pensas pri la rezulto, kaj ne nur pri sia areo de respondeco (la rezulto estas funkcianta eldono disponebla por uzantoj de la produkto).

En KD-oj ĝi estas kutime uzata kodrevizio, kaj por kolekti klientajn opiniojn - la principo malhela lanĉo. Nova funkcio estas unue liberigita al malgranda segmento de uzantoj - ilia sperto interagi kun la produkto helpas trovi mankojn kaj cimojn, kiuj ne estis rimarkitaj dum interna testado.

Kio estas la profito

Kontinua Livero helpas simpligi koddeplojon, kiu havas pozitivan efikon sur produktiveco kaj reduktas la verŝajnecon de elĉerpiĝo de dungitoj. Finfine, ĉi tio reduktas ĝeneralajn disvolvajn kostojn. Ekzemple, KD helpis unu el la HP-teamoj redukti tiaj kostoj je 40%.

Krome, laŭ studo de 2016 (paĝo 28 dokumento) - kompanioj, kiuj efektivigis KD, solvas problemojn pri informa sekureco 50% pli rapide ol tiuj, kiuj ne uzas la aliron. Iagrade, ĉi tiu diferenco povas esti klarigita per la agado de procezaj aŭtomatigaj iloj.

Alia pluso estas la akcelo de eldonoj. Daŭra livero ĉe finna evolustudio helpis pliigi kodan asembleorapidecon je 25%.

Eblaj Malfacilaĵoj

La unua kaj ĉefa problemo estas la bezono rekonstrui konatajn procezojn. Por montri la avantaĝojn de la nova aliro, indas ŝanĝi al KD iom post iom, komencante ne per la plej laborintensaj aplikoj.

La dua ebla problemo estas la granda nombro da kodbranĉoj. La sekvo de "branĉado" estas oftaj konfliktoj kaj plia perdo de granda kvanto da tempo. Ebla solvo - alproksimiĝo neniuj branĉoj.

Precipe, en iuj kompanioj la ĉefaj malfacilaĵoj aperas kun testado - necesas tro da tempo. Testrezultoj ofte devas esti analizitaj permane, sed ebla solvo povas esti paraleligi la testojn en la fruaj stadioj de KD-efektivigo.

Vi ankaŭ devus trejni dungitojn por labori kun novaj iloj - prepara eduka programo ŝparos la penadon kaj tempon al programistoj.

Helpo: kio estas Kontinua Livero
/flickr/ h.ger1969 / CC BY-SA

Iloj

Jen kelkaj malfermitaj iloj por Daŭra Livero:

  • GoCD — servilo por daŭra livero en Java kaj JRuby on Rails. Permesas al vi kontroli la tutan aplikaĵan liveran procezon: konstruo—testo—eldono. La ilo estas distribuita sub la permesilo Apache 2.0. Vi povas trovi ĝin en la oficiala retejo agorda gvidilo.
  • Capistrano — kadro por krei skriptojn, kiuj aŭtomatigas la disfaldiĝon de aplikaĵoj en Ruby, Java aŭ PHP. Capistrano kapablas efektivigi komandojn sur fora maŝino per konektado al ĝi per SSH. Funkcias kun aliaj kontinuaj integrigaj kaj liveraj iloj, kiel la Integrity CI-servilo.
  • gradle estas plurplatforma ilo, kiu aŭtomatigas la tutan aplikaĵan evoluciklon. Gradle funkcias kun Java, Python, C/C++, Scala, ktp. Estas integriĝo kun Eclipse, IntelliJ kaj Jenkins.
  • drone - KD-platformo en Go-lingvo. Drone povas esti deplojita surloke aŭ en la nubo. La ilo estas konstruita sur ujoj kaj uzas YAML-dosierojn por administri ilin.
  • Spinakro — platformo por kontinua koda livero en plurnubaj sistemoj. Disvolvita de Netflix, Google-inĝenieroj ludis grandan rolon en la disvolviĝo de la ilo. Instalaj instrukcioj trovi ĝin en la oficiala retejo.

Kion legi en nia kompania blogo:

fonto: www.habr.com

Aldoni komenton