Tabang: unsa ang Padayon nga Paghatud

Kaniadto kami gisulti mahitungod sa Continuous Integration (CI). Magpadayon ta sa Padayon nga Paghatud. Kini usa ka hugpong sa mga pamaagi sa pagpalambo sa software. Makatabang kini sa pagsiguro nga ang imong code andam na alang sa pag-deploy.

Tabang: unsa ang Padayon nga Paghatud
/Pixabay/ bluebudgie / PL

История

Ang hugpong sa mga pulong nga padayon nga paghatud mahimong makita balik abtik nga manifesto gikan sa 2001 sa sinugdanan sa listahan sa mga batakang prinsipyo: "Ang prayoridad mao ang pagsulbad sa mga problema sa customer pinaagi sa padayon nga paghatud sa pinakabag-o nga software."

Sa 2010, si Jez Humble ug David Farley gipagawas usa ka libro pinaagi sa Padayon nga Paghatud. Sumala sa mga tagsulat, ang CD nagsangkap sa pamaagi Padayon nga Integration ug nagtugot kanimo sa pagpayano sa pag-andam sa code alang sa pag-deploy.

Pagkahuman sa pagmantala sa libro, ang pamaagi nagsugod sa pagkapopular ug sa pila lang ka tuig nahimo kini nga gidawat sa tanan. Sumala sa survey, nga gipahigayon taliwala sa labaw sa 600 ka developers ug IT managers niadtong 2014, 97% sa technical managers ug 84% sa mga programmer ang pamilyar sa Continuous Delivery.

Karon kini nga pamaagi nagpabilin nga usa sa labing inila. Sumala sa usa ka pagtuon sa 2018 nga naglambigit sa komunidad sa IT nga DevOps ug Jenkins Community, kini naggamit katunga sa kapin sa usa ka libo ka respondents nga gisurbi.

Giunsa pagtrabaho ang Padayon nga Paghatud?

Ang basehan sa CD mao ang pagkaandam sa code alang sa pag-deploy. Aron matuman kini nga buluhaton, gigamit ang automation sa proseso sa pag-andam sa software alang sa pagpagawas. Kinahanglan kini nga sumbanan sa lainlaing mga palibot sa pag-uswag, nga makatabang nga dali nga makit-an ang mga huyang nga punto ug ma-optimize kini. Pananglitan, pagpadali sa pagsulay.

Ang usa ka pananglitan sa usa ka Padayon nga Paghatud nga proseso ingon niini:

Tabang: unsa ang Padayon nga Paghatud

Kung ang Padayon nga Paghiusa nga pamaagi mao ang responsable sa pag-automate sa una nga duha nga mga yugto, nan ang Padayon nga Paghatud mao ang responsable sa sunod nga duha. Ang kalig-on sa proseso gisiguro, taliwala sa ubang mga butang, pinaagi sa mga sistema pagdumala sa configuration. Gibantayan nila ang mga pagbag-o sa imprastraktura, database ug dependency. Ang pag-deploy mismo mahimong awtomatiko o mahimo nga mano-mano.

Ang mosunod nga mga kinahanglanon gipahamtang sa proseso:

  • Ang pagkaanaa sa kasayuran bahin sa pagkaandam sa pagsulod sa palibot sa produksiyon ug pagkaandam alang sa diha-diha nga pagpagawas (mga himan sa CD nagsulay sa code ug gihimo nga posible ang pagtimbang-timbang sa epekto sa mga pagbag-o sa pagpagawas).
  • Kinatibuk-ang responsibilidad alang sa katapusan nga produkto. Ang team sa produkto - mga managers, developers, tester - hunahunaa ang resulta, ug dili lamang ang bahin sa ilang responsibilidad (ang resulta usa ka nagtrabaho nga pagpagawas nga magamit sa mga tiggamit sa produkto).

Sa mga CD kini kasagarang gigamit pagsusi sa code, ug alang sa pagkolekta sa mga opinyon sa kustomer - ang prinsipyo ngitngit nga paglansad. Usa ka bag-ong bahin ang una nga gipagawas sa usa ka gamay nga bahin sa mga tiggamit - ang ilang kasinatian sa pakigsulti sa produkto makatabang sa pagpangita sa mga kakulangan ug mga bug nga wala namatikdan sa internal nga pagsulay.

Unsa ang kaayohan

Ang Padayon nga Paghatud makatabang nga pasimplehon ang pag-deploy sa code, nga adunay positibo nga epekto sa pagka-produktibo ug makunhuran ang posibilidad nga masunog ang mga empleyado. Sa katapusan, kini makapamenos sa kinatibuk-ang gasto sa pagpalambo. Pananglitan, ang CD nakatabang sa usa sa mga HP team aron maminusan ang ingon nga gasto sa 40%.

Dugang pa, sumala sa usa ka pagtuon sa 2016 (panid 28 dokumento) - Ang mga kompanya nga nagpatuman sa CD nagsulbad sa mga problema sa seguridad sa impormasyon nga 50% nga mas paspas kaysa niadtong wala mogamit sa pamaagi. Sa pila ka sukod, kini nga kalainan mahimong ipasabut pinaagi sa paghimo sa mga himan sa automation sa proseso.

Ang laing plus mao ang pagpadali sa pagpagawas. Padayon nga pagpadala sa Finnish development studio nakatabang dugangi ang code assembly speed sa 25%.

Potensyal nga mga Kalisud

Ang una ug nag-unang problema mao ang panginahanglan sa pagtukod pag-usab sa pamilyar nga mga proseso. Aron ipakita ang mga benepisyo sa bag-ong pamaagi, angay nga ibalhin ang CD sa hinay-hinay, dili magsugod sa labing kusog nga mga aplikasyon.

Ang ikaduha nga potensyal nga problema mao ang daghang mga sanga sa code. Ang sangputanan sa "pagsanga" mao ang kanunay nga mga panagbangi ug dugang nga pagkawala sa daghang oras. Posible nga solusyon - pamaagi walay sanga.

Sa partikular, sa pipila ka mga kompanya ang mga nag-unang mga kalisud mitungha sa pagsulay - nagkinahanglan kini og daghang panahon. Ang mga resulta sa pagsulay kasagaran kinahanglan nga analisahon sa mano-mano, apan ang usa ka posible nga solusyon mao ang pag-parallelize sa mga pagsulay sa unang mga yugto sa pagpatuman sa CD.

Kinahanglan mo usab nga bansayon ​​ang mga empleyado sa pagtrabaho gamit ang bag-ong mga himan - ang usa ka pasiuna nga programa sa edukasyon makaluwas sa paningkamot ug oras sa mga developer.

Tabang: unsa ang Padayon nga Paghatud
/flickr/ h.ger1969 / CC BY-SA

Mga himan

Ania ang pipila ka bukas nga mga himan alang sa Padayon nga Paghatud:

  • GoCD - server alang sa padayon nga pagpadala sa Java ug JRuby sa Rails. Nagtugot kanimo sa pagkontrolar sa tibuok proseso sa paghatud sa aplikasyon: pagtukod—pagsulay—pagpagawas. Ang himan giapod-apod ubos sa Apache 2.0 nga lisensya. Makita nimo kini sa opisyal nga website giya sa pag-setup.
  • Capistrano — usa ka balangkas alang sa paghimo og mga script nga awtomatiko ang pag-deploy sa mga aplikasyon sa Ruby, Java o PHP. Ang Capistrano makahimo sa pagpatuman sa mga sugo sa usa ka hilit nga makina pinaagi sa pagkonektar niini pinaagi sa SSH. Nagtrabaho sa uban pang padayon nga paghiusa ug mga himan sa paghatud, sama sa Integrity CI server.
  • Gradle usa ka multi-platform nga himan nga nag-automate sa tibuok siklo sa pagpalambo sa aplikasyon. Ang Gradle nagtrabaho uban sa Java, Python, C/C++, Scala, ug uban pa. Adunay integrasyon sa Eclipse, IntelliJ ug Jenkins.
  • drone - CD plataporma sa Go nga pinulongan. Ang drone mahimong i-deploy on-premise o sa cloud. Ang himan gitukod sa ibabaw sa mga sudlanan ug naggamit sa YAML file sa pagdumala kanila.
  • spinnaker - usa ka plataporma alang sa padayon nga paghatud sa code sa multi-cloud system. Gipalambo sa Netflix, ang mga inhenyero sa Google adunay dakong papel sa pagpalambo sa himan. Instruksyon sa pag-instalar pangitaa kini sa opisyal nga website.

Unsa ang basahon sa among corporate blog:

Source: www.habr.com

Idugang sa usa ka comment