Help: wat is Continuous Delivery

Eartiids, wy ferteld oer Continuous Integration (CI). Litte wy trochgean mei Continuous Delivery. Dit is in set fan metoaden foar softwareûntwikkeling. It helpt te soargjen dat jo koade klear is foar ynset.

Help: wat is Continuous Delivery
/Pixabay/ bluebudgie / PL

История

De sin trochrinnende levering koe werom wurde sjoen yn agile manifest fan 2001 oan it begjin fan 'e list fan basisprinsipes: "De prioriteit is it oplossen fan klantproblemen troch de trochgeande levering fan aktuele software."

Yn 2010, Jez Humble en David Farley útbrocht in boek troch Continuous Delivery. Neffens de auteurs past CD de oanpak oan Continuous integration en kinne jo ferienfâldigje de tarieding fan koade foar ynset.

Nei de publikaasje fan it boek begûn de oanpak populariteit te winnen en yn mar in pear jier waard it hast universeel akseptearre. Neffens poll, útfierd ûnder mear as 600 ûntwikkelders en IT-managers yn 2014, 97% fan technyske managers en 84% fan programmeurs wiene bekend mei Continuous Delivery.

No bliuwt dizze oanpak ien fan 'e populêrste. Neffens in 2018-stúdzje wêrby't de IT-mienskip DevOps en Jenkins Community belutsen is, is it brûkt de helte fan de mear as tûzen ûndersochte respondinten.

Hoe wurket Continuous Delivery?

De CD-basis is de reewilligens fan 'e koade foar ynset. Om dizze taak te ferfoljen wurdt automatisearring fan it proses fan it tarieden fan software foar frijlitting brûkt. It moat standert wêze yn ferskate ûntwikkelingsomjouwings, wat sil helpe om swakke punten fluch te finen en se te optimalisearjen. Bygelyks, flugger testen.

In foarbyld fan in trochgeande leveringsproses sjocht der sa út:

Help: wat is Continuous Delivery

As de oanpak fan Continuous Integration ferantwurdlik is foar it automatisearjen fan de earste twa stadia, dan is Continuous Delivery ferantwurdlik foar de folgjende twa. Prosesstabiliteit wurdt garandearre ûnder oare troch systemen konfiguraasje behear. Se kontrolearje feroaringen yn ynfrastruktuer, databases en ôfhinklikens. De ynset sels kin automatisearre wurde of mei de hân dien wurde.

De folgjende easken wurde oplein oan it proses:

  • Beskikberens fan ynformaasje oer reewilligens om de produksjeomjouwing yn te gean en ree foar direkte frijlitting (CD-ark testje de koade en meitsje it mooglik om it effekt fan feroaringen yn 'e release te evaluearjen).
  • Algemiene ferantwurdlikens foar it definitive produkt. It produktteam - managers, ûntwikkelders, testers - tinkt oer it resultaat, en net allinich oer har gebiet fan ferantwurdlikens (it resultaat is in wurkjende release dy't beskikber is foar brûkers fan it produkt).

Yn cd's wurdt it meastentiids brûkt koade resinsje, en foar it sammeljen fan klantmieningen - it prinsipe tsjuster launching. In nije funksje wurdt earst frijlitten oan in lyts segmint fan brûkers - har ûnderfining fan ynteraksje mei it produkt helpt te finen tekoartkommingen en bugs dy't net waarden opmurken tidens ynterne testen.

Wat is it foardiel

Continuous Delivery helpt te ferienfâldigjen koade ynset, dat hat in positive ynfloed op produktiviteit en ferleget de kâns op wurknimmer burnout. Uteinlik ferleget dit de totale ûntwikkelingskosten. CD holp bygelyks ien fan 'e HP-teams te reduzearjen sokke kosten mei 40%.

Derneist, neffens in stúdzje út 2016 (side 28 dokumint) - bedriuwen dy't CD hawwe ymplementearre oplosse ynformaasjefeiligensproblemen 50% flugger as dyjingen dy't de oanpak net brûke. Yn guon mjitte kin dit ferskil wurde ferklearre troch de prestaasjes fan ark foar prosesautomatisaasje.

In oar plus is de fersnelling fan releases. Trochrinnende levering by Finske ûntwikkelingsstudio holpen fergrutsje code assembly snelheid mei 25%.

Potinsjele swierrichheden

It earste en wichtichste probleem is de needsaak om fertroude prosessen opnij op te bouwen. Om de foardielen fan 'e nije oanpak sjen te litten, is it de muoite wurdich om stadichoan nei CD te wikseljen, begjinnend net mei de meast arbeidsintensive applikaasjes.

De twadde potinsjele probleem is it grutte oantal koade tûken. It gefolch fan "fertakking" is faak konflikten en fierder ferlies fan in protte tiid. Mooglike oplossing - oanpak gjin tûken.

Benammen yn guon bedriuwen ûntsteane de wichtichste swierrichheden mei testen - it nimt te folle tiid. Testresultaten moatte faak mei de hân analysearre wurde, mar in mooglike oplossing kin wêze om de tests te parallelisearjen yn 'e iere stadia fan CD-ymplemintaasje.

Jo moatte ek meiwurkers traine om te wurkjen mei nije ark - in foarriedich edukatyf programma sil ûntwikkelders muoite en tiid besparje.

Help: wat is Continuous Delivery
/flickr/ h.ger1969 / CC BY-SA

Tools

Hjir binne in pear iepen ark foar trochgeande levering:

  • GoCD - tsjinner foar trochgeande levering yn Java en JRuby on Rails. Hjirmei kinne jo it heule proses foar levering fan applikaasjes kontrolearje: build-test-release. It ark wurdt ferspraat ûnder de Apache 2.0-lisinsje. Jo kinne it fine op 'e offisjele webside opset gids.
  • Capistrano - in ramt foar it meitsjen fan skripts dy't de ynset fan applikaasjes yn Ruby, Java of PHP automatisearje. Capistrano is yn steat om kommando's út te fieren op in masine op ôfstân troch dêrmei te ferbinen fia SSH. Wurket mei oare ark foar trochgeande yntegraasje en levering, lykas de Integrity CI-tsjinner.
  • Gradle is in multi-platfoarm ark dat automatisearret de hiele applikaasje ûntwikkeling syklus. Gradle wurket mei Java, Python, C/C++, Scala, ensfh Der is yntegraasje mei Eclipse, IntelliJ en Jenkins.
  • drone - CD-platfoarm yn Go-taal. Drone kin wurde ynset op it plak of yn 'e wolk. It ark is boud boppe op konteners en brûkt YAML-bestannen om se te behearjen.
  • spinnaker - in platfoarm foar trochgeande levering fan koade yn systemen mei meardere wolken. Untwikkele troch Netflix, Google-yngenieurs spile in grutte rol yn 'e ûntwikkeling fan it ark. Ynstallaasje ynstruksjes fine it op 'e offisjele webside.

Wat te lêzen op ús bedriuwsblog:

Boarne: www.habr.com

Add a comment