Siv: Yuav ua li cas cov txheej txheem kev sib koom ua ke txuas ntxiv ua haujlwm

Niaj hnub no peb yuav saib cov keeb kwm ntawm lub sij hawm, sib tham txog cov teeb meem ntawm kev siv CI, thiab muab ob peb yam cuab yeej nrov uas yuav pab tau koj ua hauj lwm nrog nws.

Siv: Yuav ua li cas cov txheej txheem kev sib koom ua ke txuas ntxiv ua haujlwm
/flickr/ Altug Karakoc / CC BY / Duab hloov

Lub sij hawm

Kev sib koom ua ke tsis tu ncua yog ib txoj hauv kev rau kev txhim kho daim ntawv thov uas cuam tshuam nrog kev tsim ua haujlwm ntau zaus thiab kev sim lej.

Lub hom phiaj yog ua kom cov txheej txheem kev koom ua ke tuaj yeem kwv yees tau thiab txheeb xyuas cov kab mob thiab qhov ua yuam kev thaum ntxov, kom muaj sijhawm ntau los kho lawv.

Lub sij hawm Nruam kev koom ua ke thawj zaug tau tshwm sim hauv xyoo 1991. Nws tau qhia los ntawm tus tsim ntawm UML hom lus Grady Butch (Grady Booch). Tus kws tshaj lij tau qhia txog lub tswv yim ntawm CI ua ib feem ntawm nws tus kheej txoj kev txhim kho - Txoj kev Booch. Nws implied incremental refinement ntawm architecture thaum tsim khoom-oriented systems. Gradi tsis tau piav qhia txog qhov yuav tsum tau muaj rau kev sib koom ua ke tas li. Tab sis tom qab ntawd hauv nws phau ntawv "Object-Oriented Analysis thiab Tsim nrog cov ntawv thov"Nws hais tias lub hom phiaj ntawm cov txheej txheem yog txhawm rau txhawm rau tso tawm "tso tawm sab hauv."

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

Xyoo 1996, CI tau txais los ntawm cov neeg tsim cov txheej txheem programming heev (XP) - Kent Beck (Kent Beck) thiab Ron Jeffries (Ron Jeffries). Kev sib koom ua ke tsis tu ncua los ua ib qho ntawm kaum ob lub ntsiab lus tseem ceeb ntawm lawv txoj hauv kev. Cov tsim ntawm XP tau qhia meej txog qhov yuav tsum tau ua rau CI txheej txheem thiab sau tseg qhov xav tau los tsim qhov project ob peb zaug hauv ib hnub.

Nyob rau hauv thaum ntxov 2000s, ib tug ntawm cov founders ntawm Agile Alliance pib los txhawb txoj kev nruam kev koom ua ke. Martin Fowler (Martin Fowler). Nws qhov kev sim nrog CI coj mus rau thawj software cuab yeej hauv cheeb tsam no - CruiseControl. Cov khoom siv hluav taws xob tau tsim los ntawm Martin tus npoj yaig, Matthew Foemmel.

Lub voj voog tsim nyob rau hauv lub cuab yeej yog siv raws li ib tug daemon uas ib ntus xyuas cov version tswj system rau cov kev hloov nyob rau hauv lub hauv paus code. Cov tshuaj tuaj yeem rub tawm hnub no - nws faib los ntawm raws li BSD daim ntawv tso cai.

Nrog rau qhov tshwm sim ntawm software rau CI, ntau thiab ntau lub tuam txhab pib txais kev xyaum. Raws li kev tshawb fawb Forrester [nplooj 5 qhia], xyoo 2009, 86% ntawm tsib caug lub tuam txhab thev naus laus zis tau tshawb fawb siv lossis siv CI txoj hauv kev.

Niaj hnub no, kev coj ua ntawm Kev Sib Txuas Nruam yog siv los ntawm cov koom haum los ntawm ntau yam kev lag luam. Hauv xyoo 2018, cov chaw muab huab cua loj tau tshawb xyuas cov kws tshaj lij IT los ntawm cov tuam txhab hauv kev pabcuam, kev kawm thiab nyiaj txiag. Ntawm 58 txhiab tus neeg teb, XNUMX% tau hais tias lawv siv CI cov cuab yeej thiab cov ntsiab lus hauv lawv txoj haujlwm.

Yuav ua li cas li no ua hauj lwm

Kev sib koom ua ke tsis tu ncua yog ua raws li ob lub cuab yeej: kev tswj hwm version thiab CI server. Cov tom kawg tuaj yeem yog lub cev lub cev lossis lub tshuab virtual hauv huab ib puag ncig. Cov neeg tsim tawm upload cov lej tshiab ib lossis ntau zaus hauv ib hnub. CI server cia li luam nws nrog tag nrho cov kev vam khom thiab tsim nws. Tom qab ntawd, nws khiav kev sib koom ua ke thiab kev ntsuam xyuas chav tsev. Yog tias qhov kev xeem dhau los ua tiav, CI system xa cov lej.

Daim duab txheej txheem dav dav tuaj yeem sawv cev raws li hauv qab no:

Siv: Yuav ua li cas cov txheej txheem kev sib koom ua ke txuas ntxiv ua haujlwm

Cov txheej txheem CI ua rau ntau qhov yuav tsum tau ua rau cov neeg tsim khoom:

  • Kho cov teeb meem tam sim ntawd. Lub hauv paus ntsiab lus no tuaj rau CI los ntawm kev ua haujlwm siab heev. Txhim kho kab yog qhov tseem ceeb tshaj plaws ntawm cov neeg tsim khoom.
  • Automate cov txheej txheem. Cov neeg tsim khoom thiab cov thawj coj yuav tsum tau saib xyuas cov kev tsis sib haum xeeb hauv cov txheej txheem kev koom ua ke thiab tshem tawm lawv. Piv txwv li, feem ntau muaj kev tsis sib haum xeeb hauv kev sib koom ua ke hloov tawm kuaj.
  • Ua cov rooj sib txoos kom ntau li ntau tau. Ib hnub ib zaug los synchronize pab pawg ua haujlwm.

Kev siv cov teeb meem

Thawj qhov teeb meem yog cov nqi khiav lag luam siab. Txawm hais tias ib lub tuam txhab siv cov cuab yeej qhib CI (uas peb yuav tham txog tom qab), nws tseem yuav tau siv nyiaj rau kev txhawb nqa infrastructure. Txawm li cas los xij, huab technologies yuav yog qhov kev daws teeb meem.

Lawv ua kom yooj yim rau kev sib sau ua ke ntawm qhov sib txawv-scale computer configurations. Ntxiv ntawm lub tuam txhab them tsuas yog rau cov peev txheej siv, uas yuav pab txuag tau ntawm infrastructure.

Raws li kev tshawb fawb [nplooj 14 lus], kev sib koom ua ke tsis tu ncua ua rau muaj kev thauj khoom ntawm cov neeg ua haujlwm hauv tuam txhab (tsawg kawg thaum xub thawj). Lawv yuav tsum kawm cov cuab yeej tshiab, thiab cov npoj yaig tsis tas yuav pab nrog kev cob qhia. Yog li ntawd, koj yuav tsum tau nrog cov txheej txheem tshiab thiab cov kev pabcuam thaum mus.

Qhov thib peb nyuaj yog teeb meem nrog automation. Cov koom haum uas muaj cov cai qub qub uas tsis tau them los ntawm cov kev xeem automated ntsib qhov teeb meem no. Qhov no ua rau lub fact tias cov cai tsuas yog rewritten ua ntej tag nrho cov kev siv ntawm CI.

Siv: Yuav ua li cas cov txheej txheem kev sib koom ua ke txuas ntxiv ua haujlwm
/flickr/ theilr / CC BY-SA

Leej twg siv

IT giants yog cov thawj coj kom txaus siab rau cov txiaj ntsig ntawm cov txheej txheem. Google siv kev koom ua ke tsis tu ncua txij li nruab nrab xyoo 2000s. CI tau siv los daws qhov teeb meem ntawm kev ncua sijhawm hauv lub tshuab tshawb nrhiav. Kev sib koom ua ke tsis tu ncua tau pab tshawb xyuas sai thiab daws teeb meem. Tam sim no CI tau siv los ntawm txhua lub tuam tsev ntawm IT loj.

Kev sib koom ua ke tsis tu ncua kuj pab cov tuam txhab me me, thiab cov cuab yeej CI kuj tau siv los ntawm cov koom haum nyiaj txiag thiab kev noj qab haus huv. Piv txwv li, ntawm Morningstar, cov kev pabcuam txuas ntxiv txuas ntxiv tau pab thaj chaw muaj qhov tsis zoo 70% sai dua. Thiab Philips Healthcare lub platform kho mob tau tuaj yeem ua ob npaug ntawm qhov kev sim hloov tshiab.

Cov cuab yeej

Nov yog qee cov cuab yeej nrov rau CI:

  • Jenkins yog ib qho ntawm feem nrov CI systems. Nws txhawb ntau tshaj ib txhiab plugins rau kev koom ua ke nrog ntau yam VCS, huab platforms thiab lwm yam kev pabcuam. Peb kuj siv Jenkins ntawm 1cloud: cuab yeej suav nrog peb DevOps system. Nws tsis tu ncua xyuas Git ceg uas npaj rau kev sim.
  • Buildbot - python moj khaum rau kev sau koj tus kheej cov txheej txheem txuas ntxiv. Kev teeb tsa thawj zaug ntawm lub cuab yeej yog qhov nyuaj heev, tab sis qhov no tau them nyiaj los ntawm kev xaiv dav dav. Ntawm qhov zoo ntawm lub moj khaum, cov neeg siv qhia txog nws qhov kev siv nyiaj tsawg.
  • Kev CI yog ib lub server los ntawm Pivotal uas siv Docker ntim. Concourse CI integrates nrog txhua yam cuab yeej thiab version tswj systems. Cov neeg tsim khoom sau tseg tias qhov system tsim nyog rau kev ua haujlwm hauv cov tuam txhab ntawm txhua qhov loj me.
  • Gitlab CI yog ib lub cuab yeej ua rau hauv GitLab version tswj qhov system. Cov kev pabcuam khiav hauv huab thiab siv YAML cov ntaub ntawv rau kev teeb tsa. Zoo li Concourse, Gitlab CI siv Docker ntim uas pab cais cov txheej txheem sib txawv ntawm ib leeg.
  • Kev cai lij choj yog huab CI server uas ua haujlwm nrog GitHub, GitLab thiab BitBucket. Lub platform tsis xav tau kev teeb tsa ntev ntev - cov txheej txheem ua ntej CI cov txheej txheem muaj nyob hauv Codeship. Rau me me (txog 100 tsim ib hlis) thiab qhib qhov project, Codeship muaj pub dawb.

Cov ntaub ntawv los ntawm peb cov tuam txhab blog:

Tau qhov twg los: www.hab.com

Ntxiv ib saib