Referans: ki jan pwosesis entegrasyon kontinyèl la ap travay

Jodi a nou pral gade nan istwa tèm nan, diskite sou difikilte yo nan mete ann aplikasyon CI, epi bay plizyè zouti popilè ki pral ede w travay avèk li.

Referans: ki jan pwosesis entegrasyon kontinyèl la ap travay
/flickr/ Altug Karakoc / CC BY / Foto modifye

Peryòd

Entegrasyon kontinyèl se yon apwòch nan devlopman aplikasyon ki enplike souvan bati pwojè ak tès kòd.

Objektif la se fè pwosesis entegrasyon an previzib epi detekte ensèk potansyèl ak erè nan yon etap bonè, pou ke gen plis tan pou ranje yo.

Tèm Entegrasyon kontinyèl la te parèt premye an 1991. Li te prezante pa kreyatè lang UML la Grady Butch (Grady Booch). Enjenyè a te prezante konsèp CI kòm yon pati nan pratik devlopman pwòp li - Metòd Booch. Li te enplike rafineman incrémentielle nan achitekti a lè konsepsyon sistèm objè-oryante. Gradi pa t dekri okenn kondisyon pou entegrasyon kontinyèl. Men pita nan liv li a "Objè-oryante analiz ak konsepsyon ak aplikasyon"Li te di ke objektif la nan metodoloji a se akselere liberasyon an nan "degaje entèn."

Istwa

An 1996, CI te adopte pa créateurs metodoloji a pwogram ekstrèm (XP) - Kent Beck (Kent Beck) ak Ron Jeffries (Ron Jeffries). Entegrasyon kontinyèl te vin youn nan douz prensip kle apwòch yo. Fondatè XP yo te klarifye egzijans pou metodoloji CI a e yo te note bezwen pou konstwi pwojè a plizyè fwa pa jou.

Nan kòmansman ane 2000 yo, youn nan fondatè Agile Alliance la te kòmanse ankouraje metodoloji entegrasyon kontinyèl la. Martin Fowler (Martin Fowler). Eksperyans li yo ak CI te mennen nan premye zouti lojisyèl nan zòn sa a - CruiseControl. Kolèg Martin a, Matthew Foemmel, te kreye sèvis piblik la.

Se sik konstriksyon nan zouti a aplike kòm yon demon ki detanzantan tcheke sistèm kontwòl vèsyon an pou chanjman nan baz kòd la. Solisyon an ka telechaje jodi a - li distribiye pa anba yon lisans ki sanble ak BSD.

Avèk avenman lojisyèl pou CI, pi plis ak plis konpayi yo te kòmanse adopte pratik la. Dapre rechèch Forrester [paj 5 rapò], an 2009, 86% nan senkant konpayi teknoloji sondaj yo te itilize oswa aplike metòd CI.

Jodi a, pratik Entegrasyon Kontinyèl yo itilize pa òganizasyon ki soti nan yon gran varyete endistri yo. Nan 2018, yon gwo founisè nwaj te fè yon sondaj pami espesyalis IT ki soti nan konpayi yo nan sektè sèvis, edikasyon ak finans. Nan sis mil moun ki repond yo, 58% te di ke yo itilize zouti CI ak prensip nan travay yo.

Kijan travay sa a

Entegrasyon kontinyèl baze sou de zouti: yon sistèm kontwòl vèsyon ak yon sèvè CI. Lèt la ka swa yon aparèy fizik oswa yon machin vityèl nan yon anviwònman nwaj. Devlopè yo telechaje nouvo kòd youn oswa plizyè fwa pa jou. Sèvè CI a otomatikman kopye li ak tout depandans yo epi li bati li. Apre sa, li kouri entegrasyon ak tès inite yo. Si tès yo pase avèk siksè, sistèm CI deplwaye kòd la.

Dyagram jeneral pwosesis la ka reprezante jan sa a:

Referans: ki jan pwosesis entegrasyon kontinyèl la ap travay

Metodoloji CI a fè yon kantite kondisyon pou devlopè yo:

  • Korije pwoblèm imedyatman. Prensip sa a te vini nan CI soti nan pwogram ekstrèm. Ranje ensèk se pi gwo priyorite devlopè yo.
  • Otomatik pwosesis yo. Devlopè yo ak administratè yo dwe toujou ap chèche bouche nan pwosesis entegrasyon an epi elimine yo. Pou egzanp, gen souvan yon bouche nan entegrasyon vire soti tès.
  • Fè asanble osi souvan ke posib. Yon fwa pa jou pou senkronize travay ekip la.

Difikilte aplikasyon

Premye pwoblèm nan se gwo depans fonksyònman. Menm si yon konpayi sèvi ak zouti CI louvri (ki nou pral pale pita), li ap toujou gen pou depanse lajan sou sipò enfrastrikti. Sepandan, teknoloji nwaj yo ka solisyon an.

Yo senplifye asanble a nan diferan echèl konfigirasyon òdinatè. Plis nan konpayi an peye sèlman pou resous yo itilize, ki ede ekonomize sou enfrastrikti.

Dapre sondaj [paj 14 atik], entegrasyon kontinyèl ogmante chaj la sou anplwaye konpayi yo (omwen nan premye). Yo dwe aprann nouvo zouti, epi kòlèg yo pa toujou ede ak fòmasyon. Se poutèt sa, ou gen fè fas ak nouvo kad ak sèvis sou vole.

Twazyèm difikilte a se pwoblèm ak automatisation. Òganizasyon ki gen yon gwo kantite kòd eritaj ki pa kouvri pa tès otomatik yo fè fas a pwoblèm sa a. Sa a mennen nan lefèt ke se kòd la tou senpleman reekri anvan aplikasyon an plen nan CI.

Referans: ki jan pwosesis entegrasyon kontinyèl la ap travay
/flickr/ theilr / CC BY-SA

Ki moun ki itilize

IT gran yo te pami premye moun ki te apresye benefis metodoloji a. Google itilizasyon entegrasyon kontinyèl depi mitan ane 2000 yo. CI te aplike pou rezoud pwoblèm reta nan motè rechèch la. Entegrasyon kontinyèl te ede byen vit detekte ak rezoud pwoblèm. Koulye a, tout depatman IT jeyan yo itilize CI.

Entegrasyon kontinyèl tou ede ti konpayi yo, ak zouti CI yo tou itilize pa òganizasyon finansye ak swen sante. Pou egzanp, nan Morningstar, sèvis entegrasyon kontinyèl te ede patch frajilite yo 70% pi vit. Epi platfòm medikal Philips Healthcare te kapab double vitès dènye tès yo.

Zouti

Men kèk zouti popilè pou CI:

  • Jenkins se youn nan sistèm CI ki pi popilè. Li sipòte plis pase mil grefon pou entegrasyon ak divès kalite VCS, platfòm nwaj ak lòt sèvis. Nou menm tou nou itilize Jenkins nan 1cloud: zouti enkli nan sistèm DevOps nou an. Li tcheke regilyèman branch Git ki gen entansyon fè tès la.
  • Buildbot — yon fondasyon python pou ekri pwòp pwosesis entegrasyon kontinyèl ou. Konfigirasyon inisyal la nan zouti a se byen konplike, men sa a se konpanse pa opsyon yo personnalisation lajè. Pami avantaj ki genyen nan fondasyon an, itilizatè yo mete aksan sou entansite resous ki ba li yo.
  • Konkou CI se yon sèvè ki soti nan Pivotal ki sèvi ak resipyan Docker. Concourse CI entegre ak nenpòt zouti ak sistèm kontwòl vèsyon. Devlopè yo note ke sistèm nan se apwopriye pou travay nan konpayi nenpòt ki gwosè.
  • Gitlab CI se yon zouti ki bati nan sistèm kontwòl vèsyon GitLab la. Sèvis la kouri nan nwaj la epi sèvi ak dosye YAML pou konfigirasyon. Tankou Concourse, Gitlab CI aplike Kontenè Docker ki ede izole diferan pwosesis youn ak lòt.
  • Kòd se yon sèvè CI nwaj ki travay ak GitHub, GitLab ak BitBucket. Platfòm nan pa mande pou konfigirasyon inisyal long - pwosesis estanda CI pre-enstale yo disponib nan Codeship. Pou ti (jiska 100 bati pa mwa) ak pwojè sous louvri, Codeship disponib gratis.

Materyèl ki soti nan blog antrepriz nou an:

Sous: www.habr.com

Add nouvo kòmantè