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.
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 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 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:
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.
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:
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.