Reperensya: kung giunsa ang pagpadayon sa proseso sa Paghiusa

Karon atong tan-awon ang kasaysayan sa termino, hisgutan ang mga kalisud sa pagpatuman sa CI, ug maghatag daghang mga sikat nga himan nga makatabang kanimo sa pagtrabaho niini.

Reperensya: kung giunsa ang pagpadayon sa proseso sa Paghiusa
/flickr/ Altug Karakoc / CC BY / Giusab ang litrato

Ang termino

Ang Padayon nga Paghiusa usa ka pamaagi sa pag-uswag sa aplikasyon nga naglambigit sa kanunay nga pagtukod sa proyekto ug pagsulay sa code.

Ang tumong mao ang paghimo sa proseso sa integrasyon nga matag-an ug makamatikod sa mga potensyal nga mga bug ug mga sayup sa sayo nga yugto, aron adunay dugang nga panahon sa pag-ayo niini.

Una ning gihulagway ni Continuous Integration ni adtong 1991. Gipaila kini sa tiglalang sa UML nga pinulongan Grady Butch (Grady Booch). Gipaila sa engineer ang konsepto sa CI isip kabahin sa iyang kaugalingong development practice - Booch nga pamaagi. Nagpasabot kini og dugang nga paghashas sa arkitektura sa dihang nagdesinyo sa object-oriented system. Wala gihubit ni Gradi ang bisan unsang mga kinahanglanon alang sa padayon nga panagsama. Apan sa ulahi sa iyang libro "Object-Oriented Pagtuki ug Disenyo uban sa mga Aplikasyon"Siya miingon nga ang katuyoan sa pamaagi mao ang pagpadali sa pagpagawas sa" internal nga pagpagawas.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

Sa 1996, ang CI gisagop sa mga tiglalang sa pamaagi grabe nga programming (XP) - Kent Beck (Kent Beck) ug Ron Jeffries (Ron Jeffries). Ang padayon nga paghiusa nahimong usa sa dose ka mahinungdanong prinsipyo sa ilang pamaagi. Giklaro sa mga founder sa XP ang mga kinahanglanon alang sa metodolohiya sa CI ug namatikdan ang panginahanglan sa pagtukod sa proyekto sa makadaghang higayon sa usa ka adlaw.

Sa sayong bahin sa 2000s, usa sa mga founder sa Agile Alliance nagsugod sa pagpalambo sa padayon nga integration methodology. Martin Fowler (Martin Fowler). Ang iyang mga eksperimento sa CI mitultol sa unang software tool sa niini nga dapit - CruiseControl. Ang utility gihimo sa kauban ni Martin, si Matthew Foemmel.

Ang siklo sa pagtukod sa himan gipatuman ingon usa ka daemon nga kanunay nga nagsusi sa sistema sa pagkontrol sa bersyon alang sa mga pagbag-o sa base sa code. Ang solusyon mahimong ma-download karon - kini giapod-apod sa ubos sa lisensya nga sama sa BSD.

Sa pag-abut sa software alang sa CI, nagkadaghan ang mga kompanya nga nagsugod sa pagsagop sa praktis. Sumala sa panukiduki sa Forrester [panid 5 report], sa 2009, 86% sa kalim-an nga mga kompanya sa teknolohiya nga gi-survey migamit o nagpatuman sa mga pamaagi sa CI.

Karon, ang praktis sa Padayon nga Paghiusa gigamit sa mga organisasyon gikan sa lainlaing mga industriya. Sa 2018, usa ka dako nga cloud provider ang nagpahigayon usa ka survey sa mga espesyalista sa IT gikan sa mga kompanya sa sektor sa serbisyo, edukasyon ug pinansya. Sa unom ka libo nga mga respondents, ang 58% miingon nga sila naggamit sa mga himan ug prinsipyo sa CI sa ilang trabaho.

Unsa nga paagi nga kini nga buhat

Ang padayon nga panagsama gibase sa duha ka mga himan: usa ka sistema sa pagkontrol sa bersyon ug usa ka server sa CI. Ang ulahi mahimo nga usa ka pisikal nga aparato o usa ka virtual nga makina sa usa ka palibot sa panganod. Ang mga nag-develop nag-upload og bag-ong code usa o daghang beses sa usa ka adlaw. Awtomatikong gikopya kini sa CI server sa tanang mga dependency ug gitukod kini. Pagkahuman, nagpadagan kini sa panagsama ug mga pagsulay sa yunit. Kung ang mga pagsulay malamposon, ang CI nga sistema nag-deploy sa code.

Ang kinatibuk-ang diagram sa proseso mahimong irepresentar sa mosunod:

Reperensya: kung giunsa ang pagpadayon sa proseso sa Paghiusa

Ang pamaagi sa CI naghimo sa daghang mga kinahanglanon alang sa mga developer:

  • Itul-id dayon ang mga problema. Kini nga prinsipyo miabut sa CI gikan sa grabe nga programming. Ang pag-ayo sa mga bug mao ang pinakataas nga prayoridad sa mga developer.
  • I-automate ang mga proseso. Ang mga developers ug managers kinahanglan kanunay nga mangita alang sa mga bottleneck sa proseso sa panagsama ug wagtangon kini. Pananglitan, kanunay adunay usa ka bottleneck sa panagsama namalik kini pagsulay.
  • Pagdumala ug mga asembliya kutob sa mahimo. Kausa sa usa ka adlaw aron i-synchronize ang trabaho sa team.

Mga kalisdanan sa pagpatuman

Ang nag-unang problema mao ang taas nga gasto sa operasyon. Bisan kung ang usa ka kompanya naggamit sa bukas nga mga gamit sa CI (nga atong hisgutan sa ulahi), kinahanglan pa nga mogasto kini sa suporta sa imprastraktura. Bisan pa, ang mga teknolohiya sa panganod mahimong solusyon.

Gipasimple nila ang asembliya sa lainlain nga mga sukdanan sa kompyuter. Dugang pa sa kompanya ang bayad alang lamang sa mga kapanguhaan nga gigamit, nga makatabang sa pagluwas sa imprastraktura.

Sumala sa mga surbi [panid 14 mga artikulo], ang padayon nga integrasyon nagdugang sa load sa mga empleyado sa kompanya (labing menos sa una). Kinahanglan silang makakat-on og bag-ong mga himan, ug ang mga kauban dili kanunay motabang sa pagbansay. Busa, kinahanglan nimong atubangon ang mga bag-ong balangkas ug serbisyo samtang nagbiyahe.

Ang ikatulo nga kalisud mao ang mga problema sa automation. Ang mga organisasyon nga adunay daghang kantidad sa legacy code nga wala nasakup sa mga awtomatiko nga pagsulay nag-atubang niini nga problema. Kini modala ngadto sa kamatuoran nga ang kodigo yanong gisulat pag-usab sa wala pa ang bug-os nga pagpatuman sa CI.

Reperensya: kung giunsa ang pagpadayon sa proseso sa Paghiusa
/flickr/ ang ilang / CC BY-SA

Kinsa ang naggamit

Ang mga higante sa IT usa sa mga una nga nakadayeg sa mga benepisyo sa pamaagi. Google naggamit padayon nga integrasyon sukad sa tunga-tunga sa 2000s. Gipatuman ang CI aron masulbad ang problema sa mga paglangan sa search engine. Ang padayon nga paghiusa nakatabang sa dali nga pag-ila ug pagsulbad sa mga problema. Karon ang CI gigamit sa tanan nga mga departamento sa higanteng IT.

Ang padayon nga panagsama makatabang usab sa gagmay nga mga kompanya, ug ang mga gamit sa CI gigamit usab sa mga organisasyon sa pinansyal ug pag-atiman sa panglawas. Pananglitan, sa Morningstar, ang padayon nga serbisyo sa panagsama nakatabang sa pag-tap sa mga kahuyangan nga 70% nga mas paspas. Ug ang medikal nga plataporma sa Philips Healthcare nakahimo sa pagdoble sa katulin sa mga update sa pagsulay.

Mga himan

Ania ang pipila ka popular nga mga himan alang sa CI:

  • Jenkins mao ang usa sa labing popular nga mga sistema sa CI. Gisuportahan niini ang labaw sa usa ka libo nga mga plugins alang sa panagsama sa lainlaing VCS, cloud platform ug uban pang mga serbisyo. Gigamit usab namo ang Jenkins sa 1cloud: tool gilakip sa among sistema sa DevOps. Kanunay niyang gisusi ang sanga sa Git nga gituyo alang sa pagsulay.
  • Buildbot β€” usa ka python framework alang sa pagsulat sa imong kaugalingon nga padayon nga proseso sa panagsama. Ang una nga pag-setup sa himan medyo komplikado, apan kini gibayran sa daghang mga kapilian sa pag-customize. Lakip sa mga bentaha sa balangkas, ang mga tiggamit nagpasiugda sa ubos nga intensity sa kapanguhaan.
  • Pakigsulti CI usa ka server gikan sa Pivotal nga naggamit sa mga sudlanan sa Docker. Ang Concourse CI naghiusa sa bisan unsang mga himan ug mga sistema sa pagkontrol sa bersyon. Namatikdan sa mga developer nga ang sistema angay alang sa pagtrabaho sa mga kompanya sa bisan unsang gidak-on.
  • Gitlab CI kay usa ka himan nga gitukod sa GitLab version control system. Ang serbisyo nagdagan sa panganod ug naggamit sa mga file sa YAML alang sa pag-configure. Sama sa Concourse, Gitlab CI magamit Ang mga sudlanan sa Docker nga makatabang sa pagbulag sa lainlaing mga proseso gikan sa usag usa.
  • Pagka-Codes usa ka cloud CI server nga nagtrabaho sa GitHub, GitLab ug BitBucket. Ang plataporma wala magkinahanglan og taas nga inisyal nga pag-setup - ang standard pre-installed nga mga proseso sa CI anaa sa Codeship. Para sa gagmay (hangtod sa 100 ka build kada bulan) ug open source nga mga proyekto, ang Codeship kay libre.

Mga materyales gikan sa among corporate blog:

Source: www.habr.com

Idugang sa usa ka comment