CICD maka mmalite: kedu ngwá ọrụ dị na ihe kpatara na ọ bụghị naanị nnukwu ụlọ ọrụ a ma ama na-eji ha

Ndị na-emepụta ngwaọrụ CICD na-edekarị nnukwu ụlọ ọrụ dịka ndị ahịa - Microsoft, Oculus, Red Hat, ọbụna Ferrari na NASA. Ọ ga-adị ka ụdị ndị dị otú ahụ na-arụ ọrụ naanị na usoro dị oke ọnụ nke mmalite nke nwere di na nwunye nke ndị mmepe na onye mmepụta enweghị ike imeli. Ma akụkụ dị ịrịba ama nke ngwá ọrụ dị maka obere ìgwè.

Anyị ga-agwa gị ihe ị nwere ike ịṅa ntị n'okpuru.

CICD maka mmalite: kedu ngwá ọrụ dị na ihe kpatara na ọ bụghị naanị nnukwu ụlọ ọrụ a ma ama na-eji ha
Ото - Csaba Balazs - Unsplash

Ihe nyocha PHP

Ihe nkesa CI mepere emepe nke na-eme ka ọ dị mfe ịrụ ọrụ na PHP. Nke a bụ ndụdụ nke oru ngo PHPCI. PHPCI n'onwe ya ka na-etolite, mana ọ bụghị dị ka ọ dị na mbụ.

PHP Censor nwere ike ịrụ ọrụ na GitHub, GitLab, Mercurial na ọtụtụ ebe nchekwa ndị ọzọ. Iji nwalee koodu, ngwá ọrụ na-eji Atoum, PHP Spec, Behat, Codeception ọba akwụkwọ. Ebe a ihe atụ faịlụ Nhazi maka ikpe nke mbụ:

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

Na-atụlena PHP Censor dabara nke ọma maka ibuga obere ọrụ, mana ị ga-akwado ma hazie ya n'onwe gị (onye na-akwado ya). A na-eme ka ọrụ a dị mfe site na akwụkwọ zuru oke - Ọ dị na GitHub.

Rex

Rex dị mkpụmkpụ maka Mkpebi Ime Ime. Onye injinia Ferenc Erki mepụtara usoro a iji megharịa usoro na etiti data. Rex dabeere na Perl scripts, ma ọ dịghị mkpa ka ị mara asụsụ a na-emekọ ihe na ngwá ọrụ - ọtụtụ ọrụ (dịka ọmụmaatụ, iṅomi faịlụ) na-akọwa na ọrụ n'ọbá akwụkwọ, na scripts na-adaba n'ime iri ahịrị. Nke a bụ ọmụmaatụ maka ịbanye n'ọtụtụ sava na ịgba ọsọ oge:

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;
};

Anyị na-akwado ịmalite ịmara gị na ngwaọrụ ahụ onye ndu ndu и e-akwụkwọ, nke a na-emecha ugbu a.

Mepee Ọrụ Nrụpụta (OBS)

Nke a bụ ikpo okwu maka ịkwalite mmepe nke nkesa. Koodu ya meghere ma dị na ebe nchekwa na GitHub. Onye edemede nke ngwá ọrụ bụ ụlọ ọrụ Akwụkwọ akụkọ. O tinyere aka na mmepe nke nkesa SuSE, a na-akpọkwa ọrụ a na mbụ openSUSE Build Service. Ọ bụghị ihe ijuanya na Open Build Service jiri maka oru ngo ewu na openSUSE, Tizen na VideoLAN. Dell, SGI na Intel na-arụkwa ọrụ na ngwá ọrụ ahụ. Mana n'etiti ndị ọrụ oge niile enwerekwa obere mmalite. Karịsịa maka ha, ndị edemede anakọtara (ibe 10) ahazibere ya ngwugwu software. Usoro n'onwe ya bụ n'efu - naanị ị ga-emefu ego na Bochum ma ọ bụ ihe nkesa ngwaike iji bugharịa ya.

Ma n'ime oge niile ọ dị, ngwá ọrụ ahụ enwetabeghị obodo sara mbara. Agbanyeghị ọ bụ akụkụ nke Linux Developer Network, maka ịhazi nhazi OS mepere emepe. O nwere ike isiri ya ike Chọta azịza nke ajụjụ gị na thematic forums. Mana otu n'ime ndị bi na Quora kwuru na n'ime IRC nkata Na Freenode, ndị otu obodo na-anabata nke ọma. Nsogbu nke obere obodo abụghị nke zuru ụwa ọnụ, ebe ọ bụ na a kọwawo ngwọta nke ọtụtụ nsogbu na akwụkwọ ikike (PDF na EPUB). Ibid. nwere ike ịchọta omume kacha mma maka ịrụ ọrụ na OBS (enwere ihe atụ na ikpe).

Rundeck

Mepee ngwa ọrụ (GitHub), nke na-arụ ọrụ na etiti data na igwe ojii site na iji edemede. Ihe nkesa script pụrụ iche bụ maka ogbugbu ha. Anyị nwere ike ịsị na Rundeck bụ "ada" nke njikwa ngwa njikwa ngwa ControlTier. Rundeck kewapụrụ na ya na 2010 wee nweta ọrụ ọhụrụ - dịka ọmụmaatụ, njikọta na Puppet, Chef, Git na Jenkins.

A na-eji usoro ahụ eme ihe Ụlọ ọrụ Walt Disney, Salesforce и Ticketmaster. Mana oru ngo a dịkwa mma maka mmalite. Nke a bụ n'ihi na Rundeck nwere ikikere n'okpuru ikike Apache v2.0. Ọzọkwa, ngwá ọrụ bụ nnọọ mfe iji.

Onye bi na Reddit ya na Rundeck rụkọrọ ọrụ, kwuru, nke edoziri ọtụtụ ihe isi ike n'onwe m. Ha nyeere ya aka na nke a akwụkwọ na e-akwụkwọ, nke ndị mmepe bipụtara.

Ị nwekwara ike ịchọta ntụziaka dị nkenke maka ịtọ ngwá ọrụ n'ịntanetị:

GoCD

Mepee ngwa ọrụ (GitHub) njikwa ụdị koodu akpaaka. Ụlọ ọrụ webatara ya na 2007 ThinkWorks - mgbe ahụ, a na-akpọ ọrụ ahụ Cruise.

GoCD na-eji ndị injinia sitere na saịtị ịre ụgbọ ala dị n'ịntanetị AutoTrader, ọrụ usoro ọmụmụ na onye na-eweta kaadị kredit Barclaycard. Otú ọ dị, otu ụzọ n'ụzọ anọ nke ndị ọrụ ngwá ọrụ mejupụtara obere azụmahịa.

Enwere ike ịkọwa ewu ewu nke ọrụ n'etiti mmalite site na imeghe ya - a na-ekesa ya n'okpuru ikike Apache v2.0. N'otu oge ahụ, GoCD Ọ nwere plugins maka ijikọ na ngwanrọ ndị ọzọ - usoro ikike na ngwọta igwe ojii. Ezi usoro nnọọ mgbagwoju anya na nchịkwa - ọ nwere ọnụ ọgụgụ buru ibu nke ndị ọrụ na ndị otu. Ọzọkwa, ụfọdụ ọrụ mkpesa banyere ogbenye interface na mkpa hazie ndị ọrụ maka scaling.

CICD maka mmalite: kedu ngwá ọrụ dị na ihe kpatara na ọ bụghị naanị nnukwu ụlọ ọrụ a ma ama na-eji ha
Ото - Matt Wildbore - Unsplash

Ọ bụrụ na ịchọrọ ịnwale GoCD na omume, ị nwere ike ịchọta na webụsaịtị ọrụ akwụkwọ ikike. Enwere ike ịkwado ya dị ka isi iyi nke ozi ndị ọzọ Blog Onye Mmepụta GoCD na akwụkwọ ntuziaka na nhazi.

Jenkins

Jenkins a maara nke ọma na a na-atụle ya Ụdị ọkọlọtọ n'ọhịa nke CICD - n'ezie, na-enweghị ya nhọrọ a agaghị abụ kpamkpam. Ngwá ọrụ pụtara na 2011, na-aghọ ndụdụ nke Project Hudson sitere na Oracle.

Taa na Jenkins .аботают na NASA, Nintendo na nnukwu ụlọ ọrụ ndị ọzọ. Agbanyeghị karịa 8% ndị ọrụ na-aza ajụjụ maka obere ìgwè ndị ruru mmadụ iri. Ngwaahịa ahụ bụ kpamkpam n'efu ma kesaa ya n'okpuru ikike MIT. Agbanyeghị, ị ga-anabata ma hazie Jenkins n'onwe gị - ọ chọrọ sava raara onwe ya nye.

N'ime ndụ niile nke ngwá ọrụ ahụ, nnukwu obodo etolitela gburugburu ya. Ndị ọrụ na-akpakọrịta ozi na eri Reddit и Otu Google. Ihe ndị dị na Jenkins na-apụtakwa mgbe niile na Habré. Ọ bụrụ n’ịchọrọ ịbụ akụkụ nke obodo wee malite ịrụ ọrụ na Jenkins, enwere akwụkwọ ikike и onye nrụpụta ndu. Anyị na-akwadokwa ntuziaka na akwụkwọ ndị a:

Jenkins nwere ọtụtụ ọrụ akụkụ bara uru. Nke mbụ bụ ngwa mgbakwunye Nhazi dị ka Koodu. Ọ na-eme ka ịtọlite ​​Jenkins dị mfe site na iji API dị mfe ọgụgụ nke ọbụna ndị nchịkwa na-enweghị ihe ọmụma miri emi nke ngwá ọrụ nwere ike ịghọta. Nke abụọ bụ usoro Jenkins X maka igwe-oji. Ọ na-eme ngwa ngwa ịnyefe ngwa ndị etinyere na akụrụngwa IT buru ibu site na ịmegharị ụfọdụ ọrụ oge niile.

Buildbot

Nke a bụ usoro ntinye aka na-aga n'ihu maka ịmegharị usoro iwu na nnwale nke ngwa. Ọ na-enyocha ọrụ koodu na-akpaghị aka mgbe ọ bụla mgbanwe ọ bụla emere na ya.

Onye dere ngwá ọrụ ahụ bụ injinia Brian Warner. Taa ọ nọ n'ọrụ gbanwere otu Buildbot Oversight Committee initiative, nke gụnyere ndị mmepe isii.

Buildbot jiri oru dika LLVM, MariaDB, Blender na Dr.Web. Mana a na-ejikwa ya na obere ọrụ dị ka wxWidgets na Flathub. Usoro a na-akwado VCS ọgbara ọhụrụ niile ma nwee ntọala ntọala na-agbanwe agbanwe site na iji Python kọwaa ha. Ọ ga-enyere gị aka imeri ha niile. akwụkwọ ikike na nkuzi nke ndị ọzọ, dịka ọmụmaatụ, nke a bụ nkenke Akwụkwọ ntuziaka IBM.

N'ezie ọ bụghị naanị nke ahụ Ngwá ọrụ DevOps nke obere ụlọ ọrụ na ndị mmalite kwesịrị ịṅa ntị na ya. Nye ngwaọrụ kachasị amasị gị na nkọwa, anyị ga-agbalị ikwu banyere ha n'otu n'ime ihe ndị a.

Ihe anyị na-ede na blọgụ ụlọ ọrụ:

isi: www.habr.com

Tinye a comment