Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite
Ịmepụta agbụ DevOps mbụ gị n'usoro ise maka ndị mbido.

DevOps abụrụla ihe ngwọta maka usoro mmepe nke na-adị ngwa ngwa, na-ekewa, na nsogbu ndị ọzọ. Mana ịchọrọ ntakịrị ihe ọmụma nke DevOps. Ọ ga-ekpuchi echiche dị ka agbụ DevOps yana otu esi emepụta otu n'ime usoro ise. Nke a abụghị ntụziaka zuru oke, kama ọ bụ naanị "azụ" nwere ike ịgbasa. Ka anyị malite n'akụkọ ihe mere eme.

Okwu mmeghe m na DevOps

M na-arụ ọrụ n'igwe ojii n'otu oge na Citi Group wee mepụta ngwa weebụ IaaS iji jikwaa akụrụngwa ígwé ojii nke Citi, mana enwere m mmasị mgbe niile ka anyị nwere ike isi mee ka usoro mmepe ahụ dịkwuo mma ma melite omenala n'etiti ndị mmepe. Greg Lavender, CTO anyị maka Cloud Architecture and Infrastructure, kwadoro m akwụkwọ ahụ Project "Phoenix". Ọ na-akọwa ụkpụrụ DevOps nke ọma wee gụọ dị ka akwụkwọ akụkọ.

Mpempe akwụkwọ tebụl na-egosi ugboro ole ụlọ ọrụ na-ewepụta ụdị ọhụrụ:

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Kedu ka Amazon, Google na Netflix si ejikwa ọtụtụ? Ọ dị mfe: ha chepụtara ka esi mepụta yinye DevOps zuru oke.

Ihe adịghị otú ahụ na Citi ruo mgbe anyị gbanwere na DevOps. N'oge ahụ, ndị otu m nwere gburugburu dị iche iche, mana anyị ejiri aka anyị nyefee ihe nkesa mmepe. Ndị nrụpụta niile nwere ohere ịnweta naanị otu ihe nkesa mmepe dabere na IBM WebSphere Application Server Edition. Mgbe anyị gbalịrị ịnyefe n'otu oge ahụ, ihe nkesa ahụ dara, anyị na-enwekwa mkparịta ụka "na-egbu mgbu" na ibe ọ bụla. Anyị nwekwara mkpuchi ule ezughị oke nke koodu ahụ, usoro nnyefe akwụkwọ ntuziaka na-arụsi ọrụ ike, na enweghị ụzọ iji soro nnyefe koodu site na enyemaka na ụfọdụ ọrụ ma ọ bụ ihe ndị ahịa chọrọ.

O doro anya na e kwesịrị ime ihe ngwa ngwa, achọtakwara m otu onye ọrụ ibe m nwere echiche. Anyị kpebiri ịmepụta agbụ DevOps mbụ ọnụ - o guzobere igwe mebere igwe na ihe nkesa ngwa Tomcat, ana m elekọta Jenkins, njikọta na Atlassian Jira na BitBucket, yana mkpuchi koodu na ule. Ihe oru ngo a gara nke oma: anyi mebere uzo mmepe nke oma, nweta ihe ruru 100% uptime na ihe nkesa mmepe, nwere ike soro ma melite mkpuchi koodu ule, na alaka Git nwere ike jikọta na nnyefe na mbipụta Jira. Na ihe fọrọ nke nta ka ọ bụrụ ngwaọrụ niile anyị ji wuo agbụ DevOps bụ ebe mepere emepe.

N'ezie, a na-eme ka agbụ ahụ dị mfe, n'ihi na anyị etinyeghị usoro nhazi dị elu site na iji Jenkins ma ọ bụ ihe nwere ike ime. Ma anyị gara nke ọma. Ikekwe nke a bụ nsonaazụ nke ụkpụrụ Pareto (aka iwu 80/20).

Nkọwa dị nkenke nke DevOps na CI/CD yinye

DevOps nwere nkọwa dị iche iche. DevOps, dị ka Agile, gụnyere ọzụzụ dị iche iche. Mana ọtụtụ ga-ekwenye na nkọwa ndị a: DevOps bụ usoro, ma ọ bụ okirikiri ndụ, nke mmepe ngwanrọ, isi ụkpụrụ ya bụ imepụta ọdịbendị ebe ndị mmepe na ndị ọrụ ndị ọzọ nọ “na otu ogologo ogologo oge,” ọrụ ntuziaka na-akpaghị aka. , Onye ọ bụla na-eme ihe kacha mma, Ọnụ ọgụgụ nke nnyefe na-abawanye, mmepụta na-abawanye, na mgbanwe na-abawanye.

Ọ bụ ezie na naanị ngwaọrụ ezughị iji mepụta gburugburu DevOps, ị nweghị ike ịme ya na-enweghị ha. Ihe kachasị mkpa n'ime ndị a bụ ntinye aka na-aga n'ihu na nnyefe na-aga n'ihu (CI/CD). Enwere usoro dị iche iche na yinye maka gburugburu ọ bụla (dịka ọmụmaatụ, DEV (mmepe), INT (mmekọrịta), TST (nnwale), QA (nchịkwa àgwà), UAT (nnwale nnabata nke onye ọrụ), STG (nkwadebe), PROD (jiri). )), ọrụ ntuziaka na-akpaghị aka, ndị mmepe nwere ike ịmepụta koodu dị mma, nyefee ya ma nwee ike wughachi ngwa ngwa.

Ihe ndetu a na-akọwa otu esi emepụta agbụ DevOps n'usoro ise, dị ka egosiri na foto dị n'okpuru, na-eji ngwaọrụ ndị mepere emepe.

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Ka anyị gbadaa n'azụmahịa.

Nzọụkwụ 1: CI/CD Platform

Nke mbụ, ịchọrọ ngwa CI/CD. Jenkins bụ ngwa CI/CD mepere emepe edere na Java nwere ikike MIT bidoro mgbasa nke ngagharị DevOps wee bụrụ ọkọlọtọ de facto maka CICD.

Kedu ihe bụ Jenkins? Were ya na ị nwere ogwe njikwa anwansi maka ọtụtụ ọrụ na ngwaọrụ dị iche iche. N'onwe ya, ngwá ọrụ CI / CD dị ka Jenkins abaghị uru, ma na ngwá ọrụ na ọrụ dị iche iche ọ na-aghọ ike niile.

Enwere ọtụtụ ngwaọrụ ndị ọzọ mepere emepe ma e wezụga Jenkins, họrọ nke ọ bụla.

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Nke a bụ ihe usoro DevOps dị na ngwa CI/CD

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Ị nwere ngwa CI/CD na localhost, mana ọ nwebeghị ọtụtụ ihe ị ga-eme. Ka anyị gaa n'ihu na nzọụkwụ ọzọ.

Nzọụkwụ 2: Njikwa ụdị

Ụzọ kachasị mma (ma eleghị anya kachasị mfe) iji nwalee anwansi nke ngwá ọrụ CI/CD bụ ijikọ ya na ngwá ọrụ njikwa isi iyi (SCM). Kedu ihe kpatara ịchọrọ njikwa ụdị? Ka anyị kwuo na ị na-eme ngwa. Ị na-ede ya na Java, Python, C++, Go, Ruby, JavaScript ma ọ bụ asụsụ ọ bụla ọzọ, nke nwere ụgbọ ala na obere ụgbọ ala. Ihe ị na-ede ka a na-akpọ koodu isi mmalite. Na mbụ, karịsịa ma ọ bụrụ na ị na-arụ ọrụ naanị gị, ị nwere ike ịchọrọ ịchekwa ihe niile na ndekọ ndekọ mpaghara. Mana ka oru ngo na-etolite na ọtụtụ ndị mmadụ na-esonye, ​​ị chọrọ ụzọ ị ga-esi kesaa mgbanwe koodu mana zere imekọrịta esemokwu. Ikwesiri iweghachi ụdịdị ndị gara aga na-ejighi nkwado ndabere na mpaghara na-eji usoro oyiri-paste maka faịlụ koodu.

Na ebe a ị nweghị ike ịga na-enweghị SCM. SCM na-echekwa koodu na ebe nchekwa, jikwaa ụdị ya, ma na-ahazi ya n'etiti ndị mmepe.

Enwere ọtụtụ ngwaọrụ SCM, mana Git kwesịrị ịbụ ọkọlọtọ de facto. Ana m akwado iji nke a, mana enwere nhọrọ ndị ọzọ.

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Nke a bụ ihe ọkpọkọ DevOps dị ka agbakwunyere SCM.

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Ngwa CI/CD nwere ike mebe nbudata na nbudata koodu isi mmalite yana imekọ ihe ọnụ. Ọ dịghị njọ? Mana olee otu anyị nwere ike isi gbanwee nke a ka ọ bụrụ ngwa na-arụ ọrụ nke ọtụtụ ijeri ndị ọrụ hụrụ n'anya?

Kwụpụ 3: Wụpụta Ngwa akpaaka

Ihe niile na-aga ka o kwesịrị. Ị nwere ike bulite koodu wee mee mgbanwe na njikwa ụdị, ma kpọọ ndị enyi ka ha na gị rụọ ọrụ. Mana ị nwebeghị ngwa ahụ. Ka ọ bụrụ ngwa webụ, a ga-achịkọta ya ma chịkọta ya maka mbufe ma ọ bụ na-agba ọsọ dị ka faịlụ nwere ike ime ya. (Asụsụ mmemme atụgharịrị, dị ka Javascript ma ọ bụ PHP, adịghị mkpa ka achịkọta ya.)

Jiri ngwa nrụpụta akpaaka. Ngwá ọrụ ọ bụla ị họọrọ, ọ ga-anakọta koodu ahụ n'ụdị achọrọ ma megharịa nhichapụ, nchịkọta, nyocha na nnyefe. Ngwá ọrụ nrụpụta dịgasị iche dabere n'asụsụ a, mana a na-ejikarị nhọrọ mmalite mepere emepe ndị a.

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Zuru oke! Ugbu a, ka anyị tinye faịlụ nhazi ngwaọrụ arụ ọrụ arụ ọrụ n'ime sistemụ njikwa ụdị ka ngwa CI/CD wee wuo ha.

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Ọ na-adị mma. Ma olee ebe anyị ga-ewepụ ihe a niile ugbu a?

Kwụpụ 4: Sava Ngwa Weebụ

Yabụ, ị nwere faịlụ juru n'ọnụ nke enwere ike igbu ma ọ bụ bupụ ya. Ka ngwa wee baa uru n'ezie, ọ ga-enwerịrị ụdị ọrụ ma ọ bụ interface, mana ịkwesịrị itinye ya niile ebe.

Enwere ike ịkwado ngwa weebụ na sava ngwa weebụ. Ihe nkesa ngwa ahụ na-enye gburugburu ebe ị nwere ike ịme usoro ihe omume site na ngwugwu, nye interface ahụ, ma kpughee ọrụ weebụ site na oghere. Ị chọrọ ihe nkesa HTTP na ọtụtụ gburugburu ndị ọzọ (igwe mebere, dịka ọmụmaatụ) iji wụnye ihe nkesa ngwa. Maka ugbu a, ka anyị mee ka ị na-achọpụta nke a ka ị na-aga (n'agbanyeghị na m ga-ekwu maka arịa dị n'okpuru).

Enwere ọtụtụ sava ngwa weebụ mepere emepe.

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Anyị enweela ihe fọrọ nke nta ka ọ bụrụ yinye DevOps na-arụ ọrụ. Ezigbo ọrụ!

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Na ụkpụrụ, ị nwere ike ịkwụsị ebe a, ị nwere ike ijikwa ndị ọzọ n'onwe gị, ma ọ dịkwa mma ikwu banyere àgwà nke koodu ahụ.

Nzọụkwụ 5: Nyochaa mkpuchi

Nnwale na-ewe oge na mgbalị dị ukwuu, ma ọ ka mma ịchọta njehie ozugbo ma melite koodu iji mee ka ndị ọrụ kwụsịchaa. Maka ebumnuche a, enwere ọtụtụ ngwaọrụ mepere emepe nke na-agaghị anwale koodu ahụ, kamakwa nye ndụmọdụ ka esi emeziwanye ya. Ọtụtụ ngwaọrụ CI/CD nwere ike jikọọ na ngwaọrụ ndị a wee megharịa usoro ahụ.

A na-ekewa ule n'ime akụkụ abụọ: usoro nyocha maka nyocha na nyocha, yana ngwaọrụ nwere ndụmọdụ maka ịkwalite ogo koodu.

Usoro ule

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Ngwaọrụ nwere ndụmọdụ dị mma

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Ọtụtụ n'ime ngwaọrụ na frameworks ka edere maka Java, Python na Javascript n'ihi na C++ na C # bụ ndị nwe ya (ọ bụ ezie na GCC bụ isi mmalite).

Anyị etinyela ngwaọrụ mkpuchi ule, ma ugbu a, pipeline DevOps kwesịrị ịdị ka foto ahụ na mmalite nke ntuziaka.

Nzọụkwụ ndị ọzọ

.Онтейнеры

Dịka m kwuru, enwere ike ịkwado ihe nkesa ngwa ahụ na igwe mebere ma ọ bụ ihe nkesa, mana arịa na-ewu ewu karị.

Gịnị bụ containers? Na nkenke, na igwe mebere, sistemụ arụmọrụ na-ewekarị ohere karịa ngwa, na akpa na-achọkarị naanị ọba akwụkwọ na nhazi ole na ole. N'ọnọdụ ụfọdụ, igwe mebere dị mkpa, mana akpa na-anabata ngwa yana ihe nkesa na-akwụghị ụgwọ ọ bụla.

Maka arịa, a na-ejikarị Docker na Kubernetes eme ihe, n'agbanyeghị na enwere nhọrọ ndị ọzọ.

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Gụọ akụkọ gbasara Docker na Kubernetes na opensource.com:

Ngwa akpaaka Middleware

Agbụ DevOps anyị lekwasịrị anya n'ijikọ ọnụ na-ewu na ibuga ngwa, mana enwere ihe ndị ọzọ mara mma ị nwere ike iji ngwaọrụ DevOps mee. Dịka ọmụmaatụ, jiri Akụrụngwa dị ka koodu (IaC), nke a na-akpọkwa middleware automation tools. Ngwa ndị a na-enyere aka rụọ ọrụ nrụnye, njikwa, na ọrụ ndị ọzọ maka middleware. Dịka ọmụmaatụ, ngwá ọrụ akpaaka nwere ike iwere ngwa (ihe nkesa ngwa weebụ, nchekwa data, ngwaọrụ nlekota oru) na nhazi ziri ezi wee bugharịa ha na ihe nkesa ngwa.

Nke a bụ ụfọdụ nhọrọ ngwá ọrụ automation middleware mepere emepe:

Ntuziaka Dummies: Iwulite Chains DevOps na Ngwa Isi mmalite

Nkọwa na akụkọ na opensource.com:

Ugbu a gịnị?

Nke a bụ naanị ọnụ ọnụ iceberg. Yinye DevOps nwere ike ime ọtụtụ ihe. Malite na ngwa CI/CD wee hụ ihe ọzọ ị nwere ike ime ka ọrụ gị dịkwuo mfe. Echefula banyere ya ngwa nzikọrịta ozi mepere emepe maka imekọ ihe ọnụ dị irè.

Nke a bụ ụfọdụ akụkọ ọma ndị ọzọ gbasara DevOps maka ndị mbido:

Ị nwekwara ike ijikọ DevOps na ngwaọrụ mepere emepe maka agile:

isi: www.habr.com

Tinye a comment