Hulp: wat is deurlopende aflewering

Vroeër het ons vertel oor Deurlopende Integrasie (CI). Kom ons gaan voort met Deurlopende aflewering. Dit is 'n stel sagteware-ontwikkelingsmetodes. Dit help om te verseker dat jou kode gereed is vir ontplooiing.

Hulp: wat is deurlopende aflewering
/Pixabay/ bloubudgie / PL

Story

Die frase deurlopende aflewering kon terug gesien word in behendige manifes vanaf 2001 aan die begin van die lys van basiese beginsels: "Die prioriteit is om kliënteprobleme op te los deur die voortdurende aflewering van bygewerkte sagteware."

In 2010 het Jez Humble en David Farley vrygestel die boek deur Deurlopende aflewering. Volgens die skrywers komplementeer CD die benadering Deurlopende integrasie en laat jou toe om die voorbereiding van kode vir ontplooiing te vereenvoudig.

Na die publikasie van die boek het die benadering gewild geword en binne 'n paar jaar het dit byna universeel aanvaar. Volgens opname, wat in 600 onder meer as 2014 ontwikkelaars en IT-bestuurders uitgevoer is, was 97% van tegniese bestuurders en 84% van programmeerders vertroud met Deurlopende aflewering.

Nou bly hierdie benadering een van die gewildste. Volgens 'n 2018-studie wat die IT-gemeenskap DevOps en Jenkins Community betrek het, is dit gebruike helfte van die meer as duisend respondente wat ondervra is.

Hoe werk Deurlopende aflewering?

Die CD-basis is die gereedheid van die kode vir ontplooiing. Om hierdie taak uit te voer, word outomatisering van die proses gebruik om sagteware vir vrystelling voor te berei. Dit moet standaard wees oor verskillende ontwikkelingsomgewings, wat sal help om vinnig swak punte te vind en dit te optimaliseer. Bespoedig byvoorbeeld toetsing.

'n Voorbeeld van 'n Deurlopende afleweringsproses lyk soos volg:

Hulp: wat is deurlopende aflewering

As die Deurlopende Integrasie-benadering verantwoordelik is vir die outomatisering van die eerste twee fases, dan is Deurlopende aflewering verantwoordelik vir die volgende twee. Prosesstabiliteit word onder meer deur stelsels verseker konfigurasie bestuur. Hulle monitor veranderinge in infrastruktuur, databasisse en afhanklikhede. Die ontplooiing self kan outomaties of met die hand gedoen word.

Die volgende vereistes word aan die proses gestel:

  • Beskikbaarheid van inligting oor gereedheid om die produksie-omgewing te betree en gereedheid vir onmiddellike vrystelling (CD-instrumente toets die kode en maak dit moontlik om die effek van veranderinge in die vrystelling te evalueer).
  • Algehele verantwoordelikheid vir die finale produk. Die produkspan - bestuurders, ontwikkelaars, toetsers - dink oor die resultaat, en nie net oor hul verantwoordelikheidsgebied nie (die resultaat is 'n werkende vrystelling wat beskikbaar is vir gebruikers van die produk).

In CD's word dit gewoonlik gebruik kode hersiening, en vir die insameling van kliënt menings - die beginsel donker lansering. 'n Nuwe kenmerk word eers aan 'n klein segment van gebruikers vrygestel - hul ervaring van interaksie met die produk help om tekortkominge en foute te vind wat nie tydens interne toetsing opgemerk is nie.

Wat is die voordeel

Deurlopende aflewering help om kode-ontplooiing te vereenvoudig, wat 'n positiewe impak op produktiwiteit het en die waarskynlikheid van werknemeruitbranding verminder. Uiteindelik verminder dit algehele ontwikkelingskoste. CD het byvoorbeeld een van die HP-spanne gehelp te verminder sulke koste met 40%.

Daarbenewens, volgens 'n 2016-studie (bladsy 28 die dokument) - maatskappye wat CD geïmplementeer het, los inligtingsekuriteitsprobleme 50% vinniger op as diegene wat nie die benadering gebruik nie. In 'n mate kan hierdie verskil verklaar word deur die werkverrigting van proses-outomatiseringsinstrumente.

Nog 'n pluspunt is die versnelling van vrystellings. Deurlopende aflewering by Finse ontwikkelingsateljee gehelp verhoog kodesamestellingspoed met 25%.

Potensiële probleme

Die eerste en hoofprobleem is die behoefte om bekende prosesse te herbou. Om die voordele van die nuwe benadering te wys, is dit die moeite werd om geleidelik na CD oor te skakel, en begin nie met die mees arbeidsintensiewe toepassings nie.

Die tweede potensiële probleem is die groot aantal kodevertakke. Die gevolg van "vertakking" is gereelde konflikte en verdere verlies van 'n groot hoeveelheid tyd. Moontlike oplossing - benadering geen takke nie.

Veral in sommige maatskappye ontstaan ​​die grootste probleme met toetsing - dit neem te veel tyd. Toetsresultate moet dikwels met die hand ontleed word, maar 'n moontlike oplossing kan wees om die toetse in die vroeë stadiums van CD-implementering te paralleliseer.

Jy moet ook werknemers oplei om met nuwe gereedskap te werk - 'n voorlopige opvoedkundige program sal ontwikkelaars moeite en tyd bespaar.

Hulp: wat is deurlopende aflewering
/flickr/ h.ger1969 / CC BY-SA

Tools

Hier is 'n paar oop gereedskap vir deurlopende aflewering:

  • GoCD - bediener vir deurlopende aflewering in Java en JRuby on Rails. Laat jou toe om die hele aansoekafleweringsproses te beheer: bou—toets—vrystelling. Die instrument word onder die Apache 2.0-lisensie versprei. U kan dit op die amptelike webwerf vind opstelgids.
  • Capistrano - 'n raamwerk vir die skep van skrifte wat die implementering van toepassings in Ruby, Java of PHP outomatiseer. Capistrano is in staat om opdragte op 'n afgeleë masjien uit te voer deur dit via SSH te koppel. Werk saam met ander deurlopende integrasie- en afleweringsinstrumente, soos die Integrity CI-bediener.
  • graad is 'n multi-platform-instrument wat die hele toepassingsontwikkelingsiklus outomatiseer. Gradle werk met Java, Python, C/C++, Scala, ens. Daar is integrasie met Eclipse, IntelliJ en Jenkins.
  • dreun - CD-platform in Go-taal. Drone kan op die perseel of in die wolk ontplooi word. Die instrument is bo-op houers gebou en gebruik YAML-lêers om dit te bestuur.
  • Spinnaker - 'n platform vir deurlopende kode aflewering in multi-wolk stelsels. Google-ingenieurs, wat deur Netflix ontwikkel is, het 'n groot rol gespeel in die ontwikkeling van die instrument. Instalasie instruksies vind dit op die amptelike webwerf.

Wat om te lees op ons korporatiewe blog:

Bron: will.com

Voeg 'n opmerking