CICD rau startups: dab tsi cov cuab yeej muaj thiab yog vim li cas tsis tsuas loj thiab zoo-paub tuam txhab uas muag siv lawv

Cov neeg tsim khoom ntawm CICD cov cuab yeej feem ntau sau cov tuam txhab loj raws li cov neeg siv khoom - Microsoft, Oculus, Red Hat, txawm tias Ferrari thiab NASA. Nws yuav zoo li tias cov hom lag luam no tsuas yog ua haujlwm nrog cov khoom kim heev uas qhov kev pib ua haujlwm muaj ob peb tus neeg tsim khoom thiab tus tsim qauv tsis tuaj yeem them taus. Tab sis ib feem tseem ceeb ntawm cov cuab yeej muaj rau cov pab pawg me.

Peb mam li qhia koj seb koj tuaj yeem ua tib zoo mloog hauv qab no.

CICD rau startups: dab tsi cov cuab yeej muaj thiab yog vim li cas tsis tsuas loj thiab zoo-paub tuam txhab uas muag siv lawv
Yog - Sib Balazs β€” Unsplash

PHP Censor

Qhov qhib CI server uas ua rau nws yooj yim los tsim cov haujlwm hauv PHP. Qhov no yog ib tug nkhaus ntawm qhov project PHPCI. PHPCI nws tus kheej tseem tab tom tsim, tab sis tsis ua haujlwm zoo li ua ntej.

PHP Censor tuaj yeem ua haujlwm nrog GitHub, GitLab, Mercurial thiab ntau lwm qhov chaw cia khoom. Txhawm rau kuaj cov lej, cov cuab yeej siv Atoum, PHP Spec, Behat, Codeception cov tsev qiv ntawv. Ntawm no ua piv txwv configurations rau thawj rooj plaub:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

Xam pom zootias PHP Censor yog qhov zoo rau kev xa tawm cov haujlwm me me, tab sis koj yuav tsum tau tuav thiab teeb tsa koj tus kheej (tus kheej-hosted). Txoj haujlwm no yooj yim los ntawm cov ntaub ntawv ntxaws ntxaws - nws nyob ntawm GitHub.

Rex

Rex yog luv luv rau Kev Ua Haujlwm Chaw Taws Teeb. Lub kaw lus tau tsim los ntawm tus kws tshaj lij Ferenc Erki los ua kom cov txheej txheem hauv cov ntaub ntawv chaw. Rex yog raws li Perl scripts, tab sis nws tsis tas yuav tsum paub cov lus no los cuam tshuam nrog cov cuab yeej - feem ntau cov haujlwm (piv txwv li, luam cov ntaub ntawv) tau piav qhia hauv lub tsev qiv ntawv muaj nuj nqi, thiab cov ntawv sau feem ntau haum rau kaum kab. Ntawm no yog ib qho piv txwv rau kev nkag mus rau hauv ntau lub servers thiab ua haujlwm uptime:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

Peb pom zoo kom pib koj cov kev paub nrog lub cuab yeej nrog lus qhia ΠΈ e-phau ntawv, uas tam sim no tau ua tiav.

Qhib Tsim Kev Pabcuam (OBS)

Qhov no yog lub platform rau optimizing txoj kev loj hlob ntawm distributions. Nws code yog qhib thiab nyob rau hauv lub repository ntawm GitHub. Tus sau lub cuab yeej yog lub tuam txhab Dab Neeg. Nws tau koom nrog kev tsim kho ntawm SuSE faib, thiab qhov project no tau pib hu ua openSUSE Build Service. Nws tsis yog qhov xav tsis thoob uas Open Build Service siv rau kev tsim cov haujlwm hauv openSUSE, Tizen thiab VideoLAN. Dell, SGI thiab Intel kuj ua haujlwm nrog cov cuab yeej. Tab sis ntawm cov neeg siv li niaj zaus kuj muaj cov pib me me. Tshwj xeeb tshaj yog rau lawv, cov neeg sau sau (page 10) preconfigured software pob. Lub kaw lus nws tus kheej yog dawb kiag li - koj tsuas yog yuav tsum siv nyiaj rau hosting lossis hardware server kom xa nws.

Tab sis thoob plaws hauv nws lub neej, cov cuab yeej yeej tsis tau txais lub zej zog dav. Txawm tias nws yog ib feem ntawm Linux Developer Network, lub luag haujlwm rau standardizing lub qhib OS. Nws tuaj yeem nyuaj Nrhiav cov lus teb rau koj cov lus nug ntawm lub rooj sab laj thematic. Tab sis ib tus neeg nyob hauv Quora tau sau tseg tias hauv IRC sib tham Ntawm Freenode, cov tswv cuab hauv zej zog teb tau yooj yim heev. Qhov teeb meem ntawm ib lub zej zog me tsis yog thoob ntiaj teb, txij li kev daws teeb meem ntau yam tau piav qhia nyob rau hauv cov ntaub ntawv official (PDF thiab EPUB). Ib. nrhiav tau Cov kev coj ua zoo tshaj plaws rau kev ua haujlwm nrog OBS (muaj cov piv txwv thiab rooj plaub).

Rundeck

Qhib cuab yeej (GitHub), uas automates tej hauj lwm nyob rau hauv cov ntaub ntawv chaw thiab huab siv scripts. Ib tus neeg rau zaub mov tshwj xeeb yog lub luag haujlwm rau lawv qhov kev ua tiav. Peb tuaj yeem hais tias Rundeck yog "tus ntxhais" ntawm ControlTier daim ntawv thov kev tswj hwm platform. Rundeck tau cais tawm ntawm nws hauv 2010 thiab tau txais kev ua haujlwm tshiab - piv txwv li, kev koom ua ke nrog Puppet, Kws Ua Haujlwm, Git thiab Jenkins.

Qhov system yog siv nyob rau hauv Walt Disney Company, salesforce ΠΈ Ticketmaster. Tab sis qhov project kuj tsim nyog rau kev pib ua haujlwm. Qhov no yog vim Rundeck tau ntawv tso cai raws li Apache v2.0 daim ntawv tso cai. Ntxiv mus, lub cuab tam yog heev yooj yim mus use.

Ib tus neeg nyob hauv Reddit uas ua haujlwm nrog Rundeck, hais tias, uas daws teeb meem feem ntau ntawm kuv tus kheej. Lawv pab nws nrog qhov no cov ntaub ntawv thiab e-books, luam tawm los ntawm cov neeg tsim khoom.

Koj tuaj yeem nrhiav cov lus qhia luv luv rau kev teeb tsa lub cuab yeej online:

GoCD

Qhib cuab yeej (GitHub) automating code version tswj. Nws tau qhia hauv 2007 los ntawm lub tuam txhab Kev xav - ces qhov project hu ua Cruise.

GoCD yog siv los ntawm engineers los ntawm kev muag tsheb hauv online AutoTrader, kev pabcuam caj ces caj ces thiab daim npav rho nyiaj Barclaycard. Txawm li cas los xij, ib feem peb ntawm cov neeg siv cuab yeej tsim ib lub lag luam me.

Qhov nrov ntawm cov kev pabcuam ntawm kev pib ua haujlwm tuaj yeem piav qhia los ntawm nws qhov kev qhib siab - nws raug faib raws li Apache v2.0 daim ntawv tso cai. Tib lub sijhawm, GoCD Nws muaj plugins rau kev koom ua ke nrog lwm tus software - kev tso cai systems thiab huab daws. Qhov system tiag nyuaj heev nyob rau hauv kev txawj ntse - nws muaj ntau tus tswv thiab pab pawg. Tsis tas li ntawd, qee cov neeg siv yws txog qhov tsis zoo interface thiab xav tau configure tus neeg sawv cev rau scaling.

CICD rau startups: dab tsi cov cuab yeej muaj thiab yog vim li cas tsis tsuas loj thiab zoo-paub tuam txhab uas muag siv lawv
Yog - Matt Wildbore β€” Unsplash

Yog tias koj xav sim GoCD hauv kev xyaum, koj tuaj yeem nrhiav tau ntawm qhov project website cov ntaub ntawv raug cai. Nws kuj tuaj yeem raug pom zoo ua qhov chaw ntawm cov ntaub ntawv ntxiv GoCD Developer Blog nrog phau ntawv ntawm kev teeb tsa.

Jenkins

Jenkins yog dav paub thiab suav hais tias ib hom qauv hauv thaj tsam ntawm CICD - tau kawg, tsis muaj nws qhov kev xaiv no yuav tsis ua tiav tag nrho. Cov cuab yeej tau tshwm sim hauv 2011, pas dej ib rab diav rawg ntawm Project Hudson los ntawm Oracle.

Hnub no nrog Jenkins Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ntawm NASA, Nintendo thiab lwm lub koom haum loj. Txawm li cas los ntau tshaj 8% cov neeg siv nyiaj rau pab pawg me txog li kaum tus neeg. Cov khoom yog kiag li dawb thiab faib nyob rau hauv MIT daim ntawv tso cai. Txawm li cas los xij, koj yuav tsum tau tuav thiab teeb tsa Jenkins koj tus kheej - nws yuav tsum muaj lub server tshwj xeeb.

Tshaj tag nrho lub neej ntawm cov cuab yeej, ib lub zej zog loj tau tsim nyob ib ncig ntawm nws. Cov neeg siv nquag sib txuas lus hauv threads ntawm Reddit ΠΈ Google Pawg. Cov ntaub ntawv ntawm Jenkins kuj tshwm sim tsis tu ncua ntawm Habre. Yog tias koj xav los ua ib feem ntawm lub zej zog thiab pib ua haujlwm nrog Jenkins, muaj cov ntaub ntawv raug cai ΠΈ tus tsim tawm phau ntawv qhia. Peb kuj pom zoo cov lus qhia thiab phau ntawv hauv qab no:

Jenkins muaj ob peb txoj haujlwm pab cuam. Thawj qhov yog plugin Configuration li Code. Nws ua rau teeb tsa Jenkins yooj yim nrog APIs yooj yim-rau-nyeem ntawv uas txawm tias admins tsis muaj kev paub tob txog cov cuab yeej tuaj yeem nkag siab. Qhov thib ob yog qhov system Jenkins X rau huab. Nws ua kom nrawm rau kev xa cov ntawv thov siv rau ntawm qhov loj IT infrastructure los ntawm kev ua haujlwm ntawm qee yam haujlwm niaj hnub.

Buildbot

Qhov no yog ib qho kev sib koom ua ke txuas ntxiv rau automating kev tsim thiab kev sim lub voj voog ntawm kev siv. Nws cia li kuaj xyuas qhov ua haujlwm ntawm tus lej txhua lub sijhawm muaj kev hloov pauv rau nws.

Tus sau lub cuab tam yog engineer Brian Warner. Hnub no nws ua hauj lwm hloov pawg thawj coj saib xyuas Buildbot, uas suav nrog rau tus tsim tawm.

Buildbot yog siv tej yaam num xws li LLVM, MariaDB, Blender thiab Dr.Web. Tab sis nws kuj tseem siv rau hauv cov haujlwm me me xws li wxWidgets thiab Flathub. Lub kaw lus txhawb nqa txhua yam VCS niaj hnub thiab muaj qhov hloov pauv hloov tau los ntawm kev siv Python los piav qhia lawv. Nws yuav pab koj nrog lawv txhua tus. cov ntaub ntawv raug cai thiab cov kev qhia thib peb, piv txwv li, ntawm no yog luv luv IBM phau ntawv.

Ntawm chav kawm, tsis yog tag nrho DevOps cov cuab yeej uas cov koom haum me thiab cov pib lag luam yuav tsum tau them sai sai rau. Muab cov cuab yeej koj nyiam hauv cov lus pom, thiab peb yuav sim tham txog lawv hauv ib qho ntawm cov ntaub ntawv hauv qab no.

Dab tsi peb sau txog hauv cov tuam txhab blog:

Tau qhov twg los: www.hab.com

Ntxiv ib saib