Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Wāhanga 1: Tukutuku/Android

parau: Ko tenei tuhinga he whakamaoritanga ki te reo Ruhia o te tuhinga taketake "Ko nga taputapu DevOps ehara mo DevOps anake. "Te hanga i nga hanganga aunoatanga whakamatautau mai i te wahanga." Heoi, ko nga whakaahua katoa, nga hononga, nga kupu korero me nga kupu ka tiakina i roto i te reo taketake kia kore ai e poka ke te tikanga ina whakamaoritia ki te reo Rusia. Ko taku hiahia kia koa koe ki te ako!

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

I tenei wa, ko te tohungatanga DevOps tetahi o nga tino tono i roto i te umanga IT. Mena ka whakatuwherahia e koe nga waahi rapu mahi rongonui me te tātari ma te utu, ka kite koe ko nga mahi e pa ana ki a DevOps kei te tihi o te raarangi. Heoi ano, he mea nui kia maarama ko te nuinga o tenei e pa ana ki te tuunga 'Tuamatua', e tohu ana he taumata teitei o nga pukenga, mohiotanga ki nga hangarau me nga taputapu o te kaitono. Ka tae mai ano tenei me te nui o te kawenga e pa ana ki te mahi korekore o te hanga. Heoi, i timata matou ki te wareware he aha te DevOps. I te timatanga, ehara i te mea he tangata motuhake, he tari ranei. Ki te rapu whakamaaramatanga mo tenei kupu, he maha nga kupu ingoa ataahua, tika hoki, penei i te tikanga, i nga mahi, i te tikanga tikanga, i te roopu aria, me era atu.

Ko taku tohungatanga he miihini miihini whakamatautau (QA automation engineer), engari e whakapono ana ahau kia kaua e hono noa ki te tuhi i nga whakamatautau-aunoa, ki te whakawhanake i te hoahoanga angamahi whakamatautau. I te 2020, he mea nui ano te mohio ki nga hanganga automation. Ma tenei ka taea e koe te whakarite i a koe ano te mahi aunoa, mai i te whakahaere i nga whakamatautau ki te tuku hua ki nga kaiwhaiwhainga katoa kia rite ki o whaainga. Ko te mutunga, ko nga pukenga DevOps he mea tika kia oti te mahi. A he pai enei mea katoa, engari, kaore he raru (kaipahua: ka ngana tenei tuhinga ki te whakangawari i tenei raru). Ko te tohu he uaua a DevOps. Na ka kitea tenei, no te mea kaore nga kamupene e utu nui mo tetahi mea ngawari ki te mahi ... I roto i te ao DevOps, he maha nga taputapu, nga tikanga, me nga mahi e tika ana kia mohiohia. He tino uaua tenei i te timatanga o te umanga me te whakawhirinaki ki nga wheako hangarau kua kohia.

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga
Source: http://maximelanciauxbi.blogspot.com/2017/04/devops-tools.html

I konei ka mutu pea me te wahanga whakataki ka aro ki te kaupapa o tenei tuhinga. 

He aha tenei tuhinga?

I roto i tenei tuhinga, ka tohatoha ahau i taku wheako ki te hanga i tetahi hanganga miihini whakamatautau. He maha nga puna korero i runga i te Ipurangi mo nga momo taputapu me pehea te whakamahi, engari e hiahia ana ahau ki te titiro ki a raatau i roto i te horopaki o te automation. E whakapono ana ahau he maha nga miihini miihini e mohio ana ki te ahuatanga kaore he tangata engari ko koe anake te whakahaere i nga whakamatautau kua whakawhanakehia, kei te aro ranei ki te pupuri. Ko te mutunga mai, kua tawhito nga whakamatautau me te whai wa ki te whakahou i a raatau. Ano, i te timatanga o te mahi, he mahi uaua tenei: ma te mohio ko tehea taputapu hei awhina ki te whakakore i tetahi raru, me pehea te kowhiri, te whirihora me te pupuri. Ka huri etahi o nga kaiwhakaatu ki a DevOps (tangata) mo te awhina, a, kia pono, ka whai hua tenei huarahi. I te nuinga o nga wa koinei anake te whiringa i te mea karekau e kitea ki roto i nga whakawhirinakitanga katoa. Engari e mohio ana matou, he tino pukumahi a DevOps, na te mea me whakaaro ratou mo nga hanganga katoa o te kamupene, te tuku, te aro turuki, nga microservices me etahi atu mahi rite i runga i te whakahaere / roopu. Pērā i te nuinga o te wā, ehara te mahi aunoa i te kaupapa matua. I roto i tenei ahuatanga, me ngana tatou ki te mahi i nga mea katoa ka taea e tatou mai i te timatanga ki te mutunga. Ma tenei ka whakaiti i te whakawhirinaki, ka tere ake te rerenga mahi, te whakapai ake i o maatau pukenga me te kite i te ahua nui o nga mea kei te tupu.

Ko te tuhinga e whakaatu ana i nga taputapu rongonui me te rongonui me te whakaatu me pehea te whakamahi ki te hanga i tetahi hanganga aunoa i te taahiraa. Ko ia roopu e tohuhia ana e nga taputapu kua whakamatauria ma te wheako whaiaro. Engari ehara i te mea me whakamahi koe i taua mea ano. Ko nga taputapu ake ehara i te mea nui, ka puta mai, ka ngaro. Ko ta maatau mahi miihini he maarama ki nga maapono taketake: he aha te take e hiahia ana matou ki tenei roopu taputapu me nga raru mahi ka taea e matou te whakaoti ma o raatau awhina. Koinei te take i te mutunga o ia wahanga ka waiho e au nga hononga ki nga taputapu rite ka whakamahia pea i roto i to whakahaere.

He aha te kore i roto i tenei tuhinga

Ka whakahoki ano ahau ko te tuhinga ehara i te mea mo nga taputapu motuhake, na reira kaore he whakaurunga o te waehere mai i nga tuhinga me nga whakaahuatanga o nga whakahau motuhake. Engari i te mutunga o ia wahanga ka waiho e au nga hononga mo te ako taipitopito.

Ka mahia tenei na te mea: 

  • he tino ngawari tenei rauemi ki te rapu i nga momo puna (tuhinga, pukapuka, akoranga ataata);
  • ki te timata tatou ki te hohonu, me tuhi 10, 20, 30 nga wahanga o tenei tuhinga (i te mea ko nga mahere ko te 2-3);
  • Kaore au e pai ki te moumou taima i te mea kei te pirangi koe ki te whakamahi i etahi atu taputapu ki te whakatutuki i aua whainga.

Mahi

Ka tino pirangi ahau kia whai hua tenei rauemi ki ia kaipanui, kaua e panui noa ka warewaretia. I roto i tetahi rangahau, he mea tino nui te mahi. Mo tenei kua whakaritea e ahau Pupuritanga GitHub me nga tohutohu taahiraa-i-taahiraa mo te mahi i nga mea katoa mai i te wahanga. He mahi kainga hoki e tatari ana ki a koe kia kore koe e kape i nga rarangi o nga whakahau e mahia ana e koe.

Mahere

Hipanga
hangarau
Utauta

1
Te rere o te rohe (whakaritea nga whakamatautau demo paetukutuku / phi ka whakahaere i te rohe) 
Node.js, Selenium, Appium

2
Nga punaha whakahaere mana 
Git

3
Whakapapanga
Docker, Matiti Selenium, Selenoid (Tukutuku, Android)

4
CI/CD
Gitlab CI

5
Papa kapua
Google Cloud Platform

6
Whakahoahoa
Kubernetes

7
Hanganga hei waehere (IaC)
Terraform, Ansible

Te hanganga o ia wahanga

Kia marama ai te korero, ka whakaahuahia ia waahanga kia rite ki te waahanga e whai ake nei:

  • whakaahuatanga poto mo te hangarau,
  • uara mo te hanganga aunoa,
  • he whakaahua mo te ahua o te hanganga o naianei,
  • hononga ki te ako,
  • taputapu rite.

1. Whakahaerehia nga whakamatautau i te rohe

Whakaahuatanga poto mo te hangarau

He takahanga takahanga noa tenei ki te whakahaere i nga whakamatautau demo ki te rohe me te manatoko kua paahitia. I roto i te waahanga mahi, ka whakamahia a Node.js, engari ko te reo hootaka me te papaaho kaore he mea nui ka taea e koe te whakamahi i nga mea e whakamahia ana i to kamupene. 

Heoi, hei taputapu aunoa, ka tūtohu ahau ki te whakamahi i te Selenium WebDriver mo nga papaaho tukutuku me te Appium mo te papanga Android, na te mea i nga waahanga e whai ake nei ka whakamahia e matou nga whakaahua Docker kua whakaritea ki te mahi motuhake me enei taputapu. I tua atu, ko te korero mo nga whakaritenga mahi, ko enei taputapu te nuinga o te tono i te maakete.

I kite pea koe, ka whakaarohia e maatau nga whakamatautau paetukutuku me te Android. Kia aroha mai, he tino rereke te korero a iOS (whakawhetai ki a Apple). Kei te whakamahere ahau ki te whakaatu i nga otinga me nga mahi e pa ana ki te IOS ki nga waahanga kei te heke mai.

Uara mo te hanganga aunoa

Mai i te tirohanga hanganga, karekau he uara te whakahaere a rohe. Ka tirohia noa e koe kei te whakahaerehia nga whakamatautau i runga i te miihini o te rohe i roto i nga kaitirotiro rohe me nga simulators. Engari ahakoa he aha, he timatanga tika tenei.

Whakaahua o te ahua o nga hanganga o naianei

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Hononga ki te tuhura

Nga taputapu rite

  • tetahi reo hotaka e pai ana koe me nga whakamatautau Selenium/Appium;
  • nga whakamatautau;
  • tetahi kaikawe whakamatautau.

2. Putanga mana whakahaere (Git)

Whakaahuatanga poto mo te hangarau

Ehara i te mea he whakakitenga nui ki te tangata mena ka kii ahau ko te mana putanga tetahi waahanga nui o te whanaketanga, i roto i te roopu me te takitahi. I runga i nga momo puna korero, he pai ki te kii ko Git te tino rangatira rongonui. He maha nga painga o te punaha whakahaere putanga, penei i te tiritiri waehere, te penapena putanga, te whakahoki mai ki nga manga o mua, te tirotiro i nga hitori o te kaupapa, me nga taapiri. E kore matou e korero taipitopito mo ia waahanga, i te mea e mohio ana ahau kua tino mohio koe ki a koe me te whakamahi i roto i o mahi o ia ra. Engari ki te kore ohorere, ka tūtohu ahau kia okioki te panui i tenei tuhinga me te whakakii i tenei waahi ka taea.

Uara mo te hanganga aunoa

Na konei ka taea e koe te patai i tetahi patai whaitake: "He aha tana korero mo Git? E mohio ana te katoa ki tenei ka whakamahia mo te waehere whanaketanga me te waehere whakamatautau-aunoa. Ka tino tika koe, engari i roto i tenei tuhinga e korero ana matou mo nga hanganga me tenei waahanga hei tirohanga mo te waahanga 7: "Infrastructure as Code (IaC)". Ki a matou, ko te tikanga ko nga hanganga katoa, tae atu ki nga whakamatautau, kua whakaahuahia i roto i te ahua o te waehere, na reira ka taea ano e matou te whakamahi i nga punaha whakaputa ki a ia me te whiwhi painga rite mo te whanaketanga me te waehere aunoa.

Ka tiro atu maatau ki a IaC i te Hipanga 7, engari inaianei ka taea e koe te tiimata ki te whakamahi i a Git i te rohe ma te hanga i tetahi putunga o te rohe. Ka whakawhānuihia te pikitia nui ina taapirihia e matou he putunga mamao ki te hanganga.

Whakaahua o te ahua o nga hanganga o naianei

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Hononga ki te tuhura

Nga taputapu rite

3. Whakapapa (Docker)

Whakaahuatanga poto mo te hangarau

Hei whakaatu i te whakarereketanga o nga tikanga o te keemu, me hoki ki muri mo nga tau tekau. I tera wa, i hokona e nga tangata nga miihini tuuturu hei whakahaere tono. Engari i te nuinga o nga wa, ko nga rauemi whakaoho e hiahiatia ana kaore i mohiotia i mua. Ko te hua o tenei, i whakapau moni nga kamupene ki te hoko i nga kaitoro utu nui, kaha, engari ko etahi o enei kaha kaore i tino whakamahia.

Ko te waahanga o muri mai o te whanaketanga ko nga miihini mariko (VM), i whakatau i te raru o te moumou moni mo nga rauemi kaore i whakamahia. Na tenei hangarau i taea ai te whakahaere tono motuhake o tetahi ki tetahi i roto i te tuumau kotahi, ka tohatoha i nga waahi motuhake. Engari, ko te mea kino, ko nga hangarau katoa he ngoikoretanga. Ko te whakahaere i te VM e hiahia ana he punaha whakahaere katoa, e pau ana te PTM, te RAM, te rokiroki, a, i runga i te OS, me whai whakaaro nga utu raihana. Ko enei mea ka pa ki te tere o te uta, ka uaua te kawe.

Na inaianei ka tae mai tatou ki te mahi ipu. Ano ano, ka whakaotihia e tenei hangarau te raruraru o mua, na te mea kaore nga ipu e whakamahi i te OS katoa, e tuku ana i te nui o nga rauemi me te whakarato i te otinga tere me te ngawari mo te kawe.

Ae ra, ehara i te mea hou te hangarau whakangao ipu, a, i whakaurua tuatahitia i te mutunga o te 70s. I aua ra, he maha nga rangahau, nga whanaketanga me nga whakamatautau i mahia. Engari na Docker i urutau tenei hangarau kia ngawari te uru atu ki te tini. I enei wa, ka korero tatou mo nga ipu, i te nuinga o nga wa ko Docker te tikanga. Ina korero tatou mo nga ipu Docker, ko te tikanga ko nga ipu Linux. Ka taea e tatou te whakamahi i nga punaha Windows me te macOS ki te whakahaere ipu, engari he mea nui kia mohio kei tenei keehi ka puta he paparanga taapiri. Hei tauira, ko Docker i runga i te Mac te whakahaere wahangu i nga ipu kei roto i te Linux VM mama. Ka hoki ano tatou ki tenei kaupapa ka korerohia e tatou te whakahaere i nga emulators Android i roto i nga ipu, na konei he ahua tino nui me korero mo nga korero.

Uara mo te hanganga aunoa

I kitea e maatau he pai te whakamaarama me te Docker. Kia titiro tatou ki tenei i roto i te horopaki o te automation, na te mea me whakaoti rapanga e ia taputapu, hangarau ranei. Me whakaatu e maatau nga raru o te whakamatautau aunoatanga i roto i te horopaki o nga whakamatautau UI:

  • he maha nga whakawhirinaki i te wa e whakauru ana i te Selenium me te Appium;
  • raruraru hototahi i waenga i nga putanga o nga kaitirotiro, simulators me nga taraiwa;
  • te kore o te waahi mokowhiti mo nga kaitirotiro/whakaata, he mea tino nui mo te rere whakarara;
  • He uaua ki te whakahaere me te pupuri mena ka hiahia koe ki te whakahaere i nga kaitirotiro 10, 50, 100, 1000 ranei i te wa kotahi.

Engari i te mea ko Selenium te taputapu miihini rongonui rawa atu ko Docker te taputapu whakaurunga tino rongonui, kaore e tino miharo kua ngana tetahi ki te whakakotahi i a raatau ki te hanga taputapu kaha hei whakaoti i nga raru kua whakahuahia ake nei. Kia whai whakaaro tatou ki nga otinga penei. 

Mātiti Selenium i te docker

Ko tenei taputapu te mea tino rongonui i te ao Selenium mo te whakahaere i nga kaitirotiro maha i runga i nga miihini maha me te whakahaere i a raatau mai i te pokapū pokapū. Hei timata, me rehita koe kia 2 nga waahanga: Hub me Node. Ko te Hub he pona pokapū ka whiwhi i nga tono katoa mai i nga whakamatautau ka tohatoha ki nga Kohanga tika. Mo ia Node ka taea e tatou te whirihora i tetahi whirihoranga motuhake, hei tauira, ma te tohu i te kaitirotiro e hiahiatia ana me tona putanga. Heoi, me tiaki tonu tatou i nga taraiwa tirotiro hototahi me te whakauru ki runga i nga Nodes e hiahiatia ana. Mo konei, kaore i te whakamahia te mahinga Selenium i roto i tona ahua parakore, engari ka hiahia tatou ki te mahi me nga kaitirotiro kaore e taea te whakauru ki runga i te Linux OS. Mo etahi atu keehi, he otinga tino ngawari me te tika ko te whakamahi i nga whakaahua Docker hei whakahaere i te Selenium grid Hub me Nodes. Ma tenei huarahi ka tino whakamaarama te whakahaere node, na te mea ka taea e tatou te kowhiri i te ahua e hiahiatia ana me nga putanga hototahi o nga kaitirotiro me nga taraiwa kua whakauruhia.

Ahakoa nga arotake kino e pa ana ki te pumau, ina koa ka whakahaere i te maha o nga Nodes i roto i te whakarara, ko te Matiti Selenium tonu te taputapu rongonui mo te whakahaere whakarara i nga whakamatautau Selenium. He mea nui kia mahara ko nga momo whakapainga me nga whakarereketanga o tenei taputapu kei te puta tonu i te puna tuwhera, e whawhai ana ki nga momo pounamu.

Selenoid mo te Tukutuku

Ko tenei taputapu he mea pakaru i roto i te ao o Selenium i te mea e mahi tika ana i waho o te pouaka, kua ngawari ake te oranga o te maha o nga miihini miihini. Tuatahi, ehara tenei i te whakarereketanga o te matiti Selenium. Engari, i hangaia e nga kaiwhakawhanake he putanga hou o Selenium Hub i Golang, i honoa ki nga whakaahua Docker mama mo nga momo kaitirotiro, i kaha ki te whakawhanaketanga o te miihini whakamatautau. I tua atu, i roto i te take o Selenium Grid, me whakatau e tatou nga kaitirotiro e hiahiatia ana me o raatau putanga i mua, ehara i te mea he raruraru i te wa e mahi ana me te tirotiro kotahi anake. Engari ka tae mai ki nga kaitirotiro maha e tautokohia ana, ko Selenoid te otinga nama tuatahi na tana ahuatanga 'kaitirotiro i runga i te tono'. Ko nga mea katoa e hiahiatia ana ma matou ko te tango i nga whakaahua e tika ana me nga kaitirotiro i mua me te whakahou i te konae whirihoranga e taunekeneke ana a Selenoid. Whai muri i te whiwhi tono a Selenoid mai i nga whakamatautau, ka whakarewa aunoa i te ipu e hiahiatia ana me te kaitirotiro e hiahiatia ana. Ka oti te whakamatautau, ka whakamutua e Selenoid te ipu, na reira ka whakawāteahia nga rauemi mo nga tono a meake nei. Ko tenei huarahi ka whakakore katoa i te raruraru rongonui o te 'whakakino node' he maha nga wa ka pa ki a tatou i te matiti Selenium.

Engari, aue, ehara a Selenoid i te matā hiriwa. I whiwhi matou i te waahanga 'kaitirotiro i runga i te tono', engari ko te waahanga 'raoa i runga i te tono' kaore tonu i te waatea. Hei whakamahi i a Selenoid, me toha ki runga taputapu tinana, ki runga ranei i te VM, ko te tikanga me mohio i mua e hia nga rauemi hei tohatoha. Ki taku whakaaro ehara tenei i te raru mo nga kaupapa iti e 10, 20, 30 ranei nga kaitirotiro whakarara. Engari he aha mena ka hiahia tatou ki te 100, 500, 1000 me etahi atu? Kaore he tikanga ki te pupuri me te utu mo nga rauemi maha i nga wa katoa. I nga waahanga 5 me te 6 o tenei tuhinga, ka korerohia e matou nga otinga e taea ai e koe te tauine, na reira ka tino whakaitihia nga utu a te kamupene.

Selenoid mo te Android

I muri i te angitu o Selenoid hei taputapu aunoa tukutuku, i hiahia nga tangata ki tetahi mea rite mo te Android. Na ka tupu - I tukuna a Selenoid me te tautoko a Android. Mai i te tirohanga a te kaiwhakamahi taumata teitei, he rite te kaupapa o te mahi ki te aunoatanga tukutuku. Ko te rereke anake ko te kore o nga ipu tirotiro, ka whakahaerehia e Selenoid nga ipu emulator Android. Ki taku whakaaro, koinei te taputapu koreutu tino kaha mo te whakahaere i nga whakamatautau Android i roto i te whakarara.

Kaore au e pai ki te korero mo nga ahuatanga kino o tenei taputapu, na te mea ka tino pai ahau. Heoi ano, he rite tonu nga ngoikoretanga e pa ana ki te aunoatanga paetukutuku me te hono ki te tauine. I tua atu i tenei, me korero tatou mo tetahi atu herenga ka puta he ohorere mena kei te whakatu tatou i te taputapu mo te wa tuatahi. Hei whakahaere i nga whakaahua Android, me whai miihini tinana, VM ranei me te tautoko mariko kohanga. I roto i te pehea-ki te arahi, ka whakaatu ahau me pehea e taea ai tenei i runga i te Linux VM. Heoi, mena he kaiwhakamahi macOS koe me te hiahia ki te tuku i a Selenoid ki te rohe, kare e taea te whakahaere i nga whakamatautau Android. Engari ka taea e koe te whakahaere i tetahi Linux VM i te rohe me te 'whakapapa mariko' kua whirihorahia me te tuku i a Selenoid ki roto.

Whakaahua o te ahua o nga hanganga o naianei

I roto i te horopaki o tenei tuhinga, ka taapirihia e matou nga taputapu 2 hei whakaatu i te hanganga. He matiti Selenium enei mo nga whakamatautau tukutuku me te Selenoid mo nga whakamatautau Android. I roto i te akoranga GitHub, ka whakaatu ano ahau ki a koe me pehea te whakamahi i a Selenoid hei whakahaere i nga whakamatautau paetukutuku. 

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Hononga ki te tuhura

Nga taputapu rite

  • Kei etahi atu taputapu whakauru, engari ko Docker te mea rongonui. Mena kei te hiahia koe ki te whakamatau i tetahi atu mea, kia mahara ko nga taputapu kua hipokina e matou mo te whakahaere i nga whakamatautau Selenium i roto i te whakarara e kore e puta mai i te pouaka.  
  • Ka rite ki te korero i mua, he maha nga whakarereketanga o te Matiti Selenium, hei tauira, Zalenium.

4.CI/CD

Whakaahuatanga poto mo te hangarau

Ko te mahi whakauru tonu he tino rongonui i roto i te whanaketanga me te rite ki nga punaha whakahaere putanga. Ahakoa tenei, ki taku whakaaro kei te rangirua nga kupu. I roto i tenei waahanga e hiahia ana ahau ki te whakaahua i nga whakarereketanga e 3 o tenei hangarau mai i taku tirohanga. I runga i te ipurangi ka kitea e koe he maha nga tuhinga he rereke nga whakamaoritanga, a he mea noa mena ka rereke to whakaaro. Ko te mea nui kei te noho kotahi koe me o hoa mahi.

No reira, e 3 nga kupu: CI - Whakauru Tonu, CD - Tukunga Tonu me te CD ano - Tukunga Tonu. (Kei raro iho ka whakamahia e au enei kupu ki te reo Ingarihi). Ka taapirihia e ia whakarereketanga etahi atu waahanga ki to paipa whanaketanga. Engari ko te kupu tonu (tonu) ko te mea tino nui. I roto i tenei horopaki, ko te tikanga ka puta mai i te timatanga ki te mutunga, kaore he aukati, he wawaotanga a-ringa ranei. Me titiro ki te CI & CD me te CD i roto i tenei horopaki.

  • Te Whakauru Tonu koinei te taahiraa tuatahi o te kukuwhatanga. Whai muri i te tuku waehere hou ki te tūmau, e tumanako ana matou ki te whiwhi urupare tere kei te pai o maatau huringa. Ko te tikanga, kei roto i te CI te whakahaere i nga taputapu tātari waehere pateko me te waeine/whakamatautau API o roto. Ma tenei ka taea e matou te tiki korero mo o taatau waehere i roto i etahi hēkona/meneti.
  • Te Tuku tonu he taahiraa ake ake ka whakahaerehia e matou nga whakamatautau whakauru/UI. Heoi, i tenei wa kaore matou e whiwhi hua tere penei me te CI. Tuatahi, he roa ake te whakaotinga o enei momo whakamatautau. Tuarua, i mua i te whakarewatanga, me hora o tatou huringa ki te taiao whakamatautau/whakatairanga. I tua atu, mena kei te korero tatou mo te whanaketanga pūkoro, katahi ka puta he waahanga taapiri hei hanga i to maatau tono.
  • Tukunga Tonu e whakaaro ana ka tukuna e matou o maatau huringa ki te whakaputa mena kua paahitia nga whakamatautau whakaae katoa i nga waahanga o mua. I tua atu i tenei, i muri i te waahi tuku, ka taea e koe te whirihora i nga momo waahanga, penei i te whakahaere i nga whakamatautau auahi mo te whakaputa me te kohi inenga o te paanga. Ka taea te Whakamahinga Tonu me te pai o te kapinga ma nga whakamatautau aunoa. Mena ka hiahiatia etahi wawaotanga a-ringa, tae atu ki te whakamatautau, kare ano tenei Motukore (tonu). Na ka taea e taatau te kii ko ta maatau paipa e rite ana ki nga tikanga o te Tukunga Tonu.

Uara mo te hanganga aunoa

I roto i tenei waahanga, me whakamarama au ka korero tatou mo nga whakamatautau UI mutunga-ki-mutunga, ko te tikanga me tuku a tatou huringa me nga ratonga hono ki te whakamatautau i nga taiao. Te Whakakotahi Tonu - kare te tukanga e tika ana mo tenei mahi, me whai whakaaro tatou ki te whakatinana i nga tikanga Tukunga Tonu. Ka whai tikanga ano te Whakamahinga Tonu i roto i te horopaki o nga whakamatautau UI mena ka whakahaerehia e matou i roto i te mahi.

A i mua i te titiro ki te whakaahua o te huringa hoahoanga, e hiahia ana ahau ki te korero i etahi kupu mo GitLab CI. Kaore i rite ki etahi atu taputapu CI / CD, ka whakaratohia e GitLab he putunga mamao me etahi atu waahanga taapiri. No reira, he nui ake a GitLab i te CI. Kei roto ko te whakahaere waehere puna, te whakahaere Agile, nga pipeline CI/CD, nga taputapu takiuru me te kohinga inenga i waho o te pouaka. Ko te hoahoanga GitLab ko Gitlab CI/CD me GitLab Runner. Anei tetahi korero poto mai i te paetukutuku mana:

Ko te Gitlab CI/CD he tono tukutuku me te API e pupuri ana i tona ahuatanga i roto i te papaa raraunga, te whakahaere kaupapa/hanga me te whakarato i te atanga kaiwhakamahi. Ko GitLab Runner he tono e hanga ana i nga mahi. Ka taea te tuku motuhake me te mahi tahi me GitLab CI/CD ma te API. Mo nga whakamatautau e rere ana ka hiahia koe ki te tauira Gitlab me te Runner.

Whakaahua o te ahua o nga hanganga o naianei

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Hononga ki te tuhura

Nga taputapu rite

5. Kapua tüäpapa

Whakaahuatanga poto mo te hangarau

I tenei wahanga ka korero tatou mo te ahua rongonui e kiia nei ko 'kapua iwi'. Ahakoa te nui o nga painga ka tukuna mai e nga hangarau mariko me te whakamaarama i runga ake nei, kei te hiahia tonu tatou i nga rauemi rorohiko. Ka hokona e nga kamupene nga kaitoro utu nui, ka reti ranei i nga pokapū raraunga, engari i tenei keehi he mea tika ki te tatau (i etahi wa kaore i te tika) mo te maha o nga rauemi e hiahiatia ana e matou, ahakoa ka whakamahia e matou i te 24/7 me te aha. Hei tauira, me mahi he tūmau XNUMX/XNUMX, engari me whai rauemi rite mo te whakamatautau i waho o nga haora mahi? Ka whakawhirinaki ano ki te momo whakamatautau ka mahia. Ko tetahi tauira ko nga whakamatautau utaina / taumahatanga e whakamahere ana matou ki te whakahaere i nga haora kore mahi kia puta nga hua a te ra e whai ake nei. Engari ko te XNUMX/XNUMX te waatea o te tūmau kaore e hiahiatia mo nga whakamatautau aunoa mutunga-ki-mutunga, ina koa mo nga taiao whakamatautau a-ringa. Mo enei ahuatanga, he pai ki te whiwhi i nga rauemi maha ka hiahiatia i runga i te tono, whakamahia, ka mutu te utu ina kore e hiahiatia ana. I tua atu, he pai ki te whiwhi i a raatau tonu ma te mahi i etahi pao kiore me te whakahaere i nga tuhinga e rua. Koinei te mea e whakamahia ana nga kapua whanui. Kia titiro tatou ki te whakamaramatanga:

"Ko te kapua tūmatanui kua tautuhia ko nga ratonga rorohiko e tukuna ana e nga kaiwhakarato tuatoru i runga i te Ipurangi a-iwi, e waatea ana ki te hunga e hiahia ana ki te whakamahi, ki te hoko ranei. He kore utu, ka hokona ranei i runga i te tono, ka taea e nga kaihoko te utu mo ia whakamahinga mo nga huringa CPU, te rokiroki, te bandwidth ranei ka pau."

He whakaaro he utu nui nga kapua a te iwi. Engari ko ta raatau kaupapa matua ko te whakaiti i nga utu a te kamupene. Ka rite ki te korero i mua ake nei, ka taea e nga kapua whanui te tiki rauemi i runga i te tono me te utu mo te wa e whakamahia ana e koe. Ano, i etahi wa ka wareware tatou ka whiwhi utu nga kaimahi, he rauemi utu nui ano nga tohunga. Me whai whakaaro ko nga kapua a-iwi ka ngawari ake te tautoko i nga hanganga, ka taea e nga miihini te aro ki nga mahi nui ake. 

Uara mo te hanganga aunoa

He aha nga rauemi motuhake e hiahiatia ana mo nga whakamatautau UI mutunga-ki-mutunga? Ko te tikanga he miihini mariko, he tautau ranei (ka korero tatou mo nga Kubernetes i te waahanga e whai ake nei) mo te whakahaere tirotiro me nga emulator. Ko te nui ake o nga kaitirotiro me nga emulators e hiahia ana matou ki te whakahaere i te wa kotahi, ka nui ake te PTM me te mahara e hiahiatia ana me te nui ake o te moni hei utu mo taua mea. Na, ko nga kapua a-iwi i roto i te horopaki o te whakamatautau aunoatanga ka taea e tatou te whakahaere i te maha nui (100, 200, 1000...) o nga kaitirotiro / emulators i runga i te tono, kia tere nga hua whakamatautau ka mutu te utu mo nga rauemi tino kaha. mana. 

Ko nga kaiwhakarato kapua rongonui ko Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP). Ko te aratohu me pehea te whakamahi i nga tauira mo te whakamahi i te GCP, engari i te nuinga o te waa kaore he aha e whakamahia ana e koe mo nga mahi aunoa. He rite tonu te mahinga o enei katoa. Ko te tikanga, ki te whiriwhiri i tetahi kaiwhakarato, ka aro te whakahaere ki nga hanganga me nga whakaritenga pakihi a te kamupene, kei tua atu i te waahanga o tenei tuhinga. Mo nga miihini miihini, ka pai ake te whakataurite i te whakamahinga o nga kaiwhakarato kapua me te whakamahi i nga papaahi kapua mo nga kaupapa whakamatautau, penei i te Sauce Labs, BrowserStack, BitBar, me era atu. Na kia mahi ano tatou! Ki taku whakaaro, ko Sauce Labs te paamu whakamatautau kapua tino rongonui, na reira i whakamahia e au hei whakataurite. 

GCP vs Sauce Labs mo nga kaupapa aunoa:

Me whakaaro tatou me whakahaere e 8 nga whakamatautau tukutuku me nga whakamatautau Android 8 i te wa kotahi. Mo tenei ka whakamahia e matou te GCP me te whakahaere i nga miihini mariko 2 me Selenoid. I te tuatahi ka whakaarahia e matou nga ipu 8 me nga kaitirotiro. I te tuarua he 8 nga ipu me nga emulators. Kia titiro tatou ki nga utu:  

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga
Hei whakahaere i tetahi ipu me Chrome, me maatau n1-paerewa-1 waka. I roto i te take o Android ka waiho n1-paerewa-4 mo te emulator kotahi. Inaa, ko te huarahi ngawari me te iti ake ko te whakarite i nga uara kaiwhakamahi motuhake mo te PTM/Mahara, engari i tenei wa kaore he mea nui mo te whakataurite ki te Sauce Labs.

Anei nga utu mo te whakamahi i te Sauce Labs:

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga
E whakapono ana ahau kua kite koe i te rereketanga, engari ka tukuna tonu e ahau he ripanga me nga tatauranga mo ta maatau mahi:

Nga rauemi e hiahiatia ana
Marama
Nga haora mahi(8am - 8pm)
Nga haora mahi+ E waatea ana

GCP mo te Tukutuku
n1-paerewa-1 x 8 = n1-paerewa-8
$194.18
23 ra * 12h * 0.38 = $104.88 
23 ra * 12h * 0.08 = $22.08

Ranu Labs mo te Tukutuku
Virtual Cloud8 whakamatautau whakarara
$1.559
-
-

GCP mo Android
n1-paerewa-4 x 8: n1-paerewa-16
$776.72
23 ra * 12h * 1.52 = $419.52 
23 ra * 12h * 0.32 = $88.32

Ranu Labs mo te Android
Pūrere Real Kapua 8 whakamātautau whakarara
$1.999
-
-

Ka taea e koe te kite, he nui te rereketanga o te utu, ina koa mena ka whakahaerehia e koe nga whakamatautau i roto i te waa mahi tekau ma rua haora. Engari ka taea e koe te whakaiti i nga utu ki te whakamahi koe i nga miihini ka taea. He aha tena?

Ko te VM karekau he tauira ka taea e koe te hanga me te whakahaere i te utu nui ake i nga waa noa. Heoi, ka taea e te Compute Engine te whakamutu (whakapae) i enei waa mena ka hiahia uru atu ki aua rauemi mo etahi atu mahi. Ko nga tauira ka taea te whakakorehia he nui rawa atu te kaha o te Compute Engine, no reira ka rereke te waatea ki te whakamahi.

Mēnā he hē o ō taupānga, ā, ka taea e koe te tu atu i nga waahi o mua, katahi ka taea e nga tauira ka taea te whakaiti i te utu o to Miihini Tatau. Hei tauira, ka taea e nga mahi tukatuka puranga te whakahaere i runga i nga waa ka taea. Mena ka mutu etahi o aua waahi i te wa e tukatuka ana, ka puhoi te mahi engari kaore e tino mutu. Ko nga tauira ka taea e koe te whakaoti i o mahi tukatuka puranga me te kore e utaina etahi atu mahi ki runga i o waahi o mua, me te kore e tono kia utua e koe te utu katoa mo etahi atu waa noa.

A kaore ano kia mutu! I roto i te mooni, e mohio ana ahau kaore tetahi e whakahaere whakamatautau mo nga haora 12 kaore he waahi. A, ki te pera, ka taea e koe te tiimata aunoa me te aukati i nga miihini mariko ka kore e hiahiatia. Ka taea te whakaheke i te wa whakamahi tuturu ki te 6 haora ia ra. Na ka heke te utu i roto i te horopaki o ta maatau mahi ki te $11 ia marama mo nga kaitirotiro 8. E ere anei i te mea faahiahia? Engari me nga mihini karekau me noho tupato me te noho rite mo te aukati me te koretake, ahakoa ka taea enei ahuatanga te whakarato me te whakahaere ma te rorohiko. He mea utu!

Engari kaore au e kii 'kaua rawa e whakamahi i nga paamu whakamatautau kapua'. He maha o raatau painga. Ko te mea tuatahi, ehara tenei i te miihini mariko anake, engari he otinga whakamohiotanga whakamatautau katoa me te huinga o nga mahi mai i te pouaka: uru mamao, pororakau, screenshots, rekoata ataata, momo tirotiro me nga taputapu pūkoro tinana. I roto i te maha o nga ahuatanga, ka taea e tenei te mahi rereke. He tino whai hua nga papa whakamatautau mo te aunoatanga IOS, ka taea e nga kapua whanui te tuku punaha Linux/Windows anake. Engari ka korero tatou mo iOS i nga tuhinga e whai ake nei. Ka tūtohu ahau ki te titiro tonu ki te ahuatanga me te timata mai i nga mahi: i etahi wa he iti ake, he pai ake te whakamahi i nga kapua a te iwi, a, i etahi atu ko nga waahi whakamatautau he tino utu te moni kua pau.

Whakaahua o te ahua o nga hanganga o naianei

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Hononga ki te tuhura

Utauta rite:

6. Whakaraupapa

Whakaahuatanga poto mo te hangarau

He korero pai aku - kua tata ki te mutunga o te tuhinga! I tenei wa, kei roto i a maatau hanganga aunoa nga whakamatautau tukutuku me te Android, ka whakahaerehia e matou ma te GitLab CI i roto i te whakarara, ma te whakamahi i nga taputapu e taea ana e Docker: Selenium grid me Selenoid. I tua atu, ka whakamahi matou i nga miihini mariko i hangaia ma te GCP hei manaaki i nga ipu me nga kaitirotiro me nga emulator. Hei whakaiti i nga utu, ka tiimata noa enei miihini mariko i runga i te tono ka aukati i a raatau karekau e mahia nga whakamatautau. He mea ke atu hei whakapai ake i o tatou hanganga? Ko te whakautu he ae! Tutaki ki a Kubernetes (K8s)!

Tuatahi, me titiro tatou ki te hononga o nga kupu orchestration, cluster, me Kubernetes ki a raua. I te taumata teitei, ko te orchestra te punaha e tuku ana, e whakahaere ana i nga tono. Mo te whakamatautau aunoatanga, ko enei tono whakauru ko Selenium grid me Selenoid. Ko Docker me nga K8 e whakakii ana tetahi ki tetahi. Ko te tuatahi ka whakamahia mo te tuku tono, ko te tuarua mo te whakahiato. Ka huri, ko K8s he tautau. Ko te mahi a te roopu ko te whakamahi i nga VM hei Nodes, ka taea e koe te whakauru i nga momo mahi, kaupapa me nga ratonga i roto i te tūmau kotahi (cluster). Mena ka rahua tetahi o nga Nodes, ka kohia e etahi atu Nodes, e whakarite ana kia kore e haukotia to tatou tono. I tua atu i tenei, he mahinga nui a K8 e pa ana ki te tauine, na reira ka whiwhi aunoa tatou i te rahinga tino pai o nga rauemi i runga i te kawenga me te whakatau i nga rohe.

Ko te pono, ko te tuku a-ringa i nga Kubernetes mai i te wahanga kaore he mahi iti. Ka waiho e ahau he hononga ki te ara-arahi rongonui "Kubernetes The Hard Way" a ki te hiahia koe, ka taea e koe te parakatihi. Engari, ko te waimarie, he huarahi rereke me nga taputapu. Ko te huarahi ngawari ko te whakamahi i te Google Kubernetes Engine (GKE) i roto i te GCP, ka taea e koe te tiki kahui kua oti te hanga i roto i etahi patene. Ka tūtohu ahau ki te whakamahi i tenei huarahi ki te timata ki te ako, na te mea ka taea e koe te aro ki te ako me pehea te whakamahi i nga K8 mo o mahi, kaua ki te ako me pehea te whakauru o nga waahanga o roto ki a raatau. 

Uara mo te hanganga aunoa

Me titiro ki etahi waahanga nui e whakaratohia ana e nga K8:

  • te whakatakotoranga tono: te whakamahi i te kapopu pona maha hei utu mo nga VM;
  • whakaihiihi hihiri: ka whakaiti i te utu o nga rauemi ka whakamahia i runga i te hiahia anake;
  • te whakaora i a koe ano: te whakaora aunoa i nga pene (na te mea ka whakahokia ano nga ipu);
  • te whakaputanga o nga whakahoutanga me nga huringa whakamuri me te kore he wa heke: ko te whakahou i nga taputapu, nga kaitirotiro me nga emulator e kore e aukati i nga mahi a nga kaiwhakamahi o naianei.

Engari ko nga K8s ehara tonu i te matā hiriwa. Ki te mohio ki nga painga me nga here katoa i roto i te horopaki o nga taputapu e whakaarohia ana e matou (Selenium grid, Selenoid), ka korero poto matou mo te hanganga o nga K8. E rua nga momo Nodes i roto i te Cluster: Nga Kohanga Matua me nga Kohanga Kaimahi. Ko nga Kaiwhakaako Nodes te kawenga mo te whakahaere, te tuku me te whakatau whakaritenga. Ko nga pona kaimahi te waahi ka whakarewahia nga tono. Kei roto hoki i nga pona he taiao wa whakahaere ipu. I a maatau, ko Docker tenei, kei a ia te kawenga mo nga mahi e pa ana ki nga ipu. Engari tera ano etahi atu otinga, hei tauira putunga. He mea nui kia mohio ko te whakamaarama me te whakaora whaiaro kaore e pa tika ki nga ipu. Ka whakatinanahia tenei ma te taapiri/whakaheke i te maha o nga poti, kei roto nga ipu (ko te tikanga kotahi ipu mo ia pene, engari kei runga i te mahi ka nui ake). Kei roto i te hierarchy taumata-tiketike nga pona kaimahi, kei roto he porowhita, kei roto ka whakaarahia nga ipu.

He mea nui te ahua o te tauine, ka taea te whakamahi ki nga pona e rua i roto i te kohinga-pokau-puapu me nga pona kei roto i tetahi pona. E 2 nga momo tauine e pa ana ki nga pona me nga pene. Ko te momo tuatahi ko te whakapae - ka puta te whakatauine ma te whakanui ake i te maha o nga node/pods. He pai ake tenei momo. Ko te momo tuarua, na reira, poutū. Ka mahia te whakatauine ma te whakanui ake i te rahi o nga node/pods, kaua ko te maha.

Inaianei me titiro ki a tatou taputapu i roto i te horopaki o nga kupu o runga ake nei.

Mātiti Selenium

Ka rite ki te korero i mua ake nei, he taputapu tino rongonui a Selenium grid, a ehara i te mea miharo kua mauhia. No reira, kaore he mea ohorere ka taea te tuku i te matiti Selenium ki roto i nga K8. He tauira mo te mahi i tenei ka kitea i roto i te whare pupuri K8s mana. Ka rite ki o mua, ka taapirihia e au nga hononga ki te mutunga o te waahanga. I tua atu, ko te aratohu pehea-ki te whakaatu me pehea te mahi i tenei i roto i te Terraform. He tohutohu ano me pehea te tauine i te maha o nga pene kei roto nga ipu tirotiro. Engari ko te mahi whakatauine aunoa i roto i te horopaki o K8s ko te kore tonu he mahi tino kitea. I te wa i timata ahau ki te ako, kare au i kite i etahi tohutohu whaihua, tohutohu ranei. Whai muri i te maha o nga rangahau me nga whakamatautau me te tautoko a te roopu DevOps, i whiriwhiria e matou te huarahi ki te whakatipu ipu me nga kaitirotiro e tika ana i roto i te pona kotahi, kei roto i tetahi pona kaimahi. Ma tenei tikanga ka taea e tatou te whakamahi i te rautaki whakatauine whakapae o nga pona ma te whakanui ake i o raatau nama. Te ti'aturi nei au ka rereke tenei i nga wa kei te heke mai ka nui ake nga korero mo nga huarahi pai ake me nga otinga kua rite, ina koa i muri i te tukunga o te Selenium grid 4 me te whakarereketanga o te hoahoanga o roto.

Selenoid:

Ko te tukunga a Selenoid i roto i nga K8 ko te tino pouri i tenei wa. Kaore i te hototahi. I roto i te ariā, ka taea e tatou te whakaara i tetahi ipu Selenoid ki roto i te poti, engari ka timata a Selenoid ki te whakarewa i nga ipu me nga kaitirotiro, ka noho tonu ki roto i te peera kotahi. Na tenei ka kore e taea te whakatauine, na reira, ko te mahi a Selenoid i roto i te tautau karekau e rere ke i te mahi i roto i te miihini mariko. Te mutunga o te korero.

Moon:

Ma te mohio ki tenei pounamu i te wa e mahi tahi ana me Selenoid, i tukuna e nga kaihanga he taputapu kaha ake e kiia nei ko Moon. I hoahoatia tuatahitia tenei taputapu ki te mahi tahi me Kubernetes, a, na reira, ka taea te whakamahi i te waahanga autoscaling. I tua atu, ka kii ahau i tenei wa te anake he taputapu i roto i te ao Selenium, kei roto i te pouaka te tautoko kahui K8s taketake (kua kore e waatea, tirohia te taputapu e whai ake nei ). Ko nga ahuatanga matua o Moon e whakarato ana i tenei tautoko ko: 

Tino kore whenua. Ka penapena a Selenoid i nga korero mahara mo te whakahaere i nga waahi tirotiro. Mena na etahi take ka pakaru tana tukanga - ka ngaro nga waahi whakahaere katoa. Ko te marama karekau he ahua o roto ka taea te tukurua puta noa i nga pokapū raraunga. Kei te ora tonu nga huihuinga tirotiro ahakoa kotahi, neke atu ranei nga tauira ka heke.

Na, he otinga pai a Marama, engari kotahi ano te raru: ehara i te kore utu. Ko te utu kei runga i te maha o nga huihuinga. Ka taea e koe anake te whakahaere i nga waahanga 0-4 mo te kore utu, kaore i te tino whai hua. Engari, timata mai i te wahanga tuarima, me utu e koe te $5 mo ia. He rereke pea te ahuatanga mai i tetahi kamupene ki tetahi kamupene, engari i roto i a maatau, ko te whakamahi i te Marama he horihori. Ka rite ki taku korero i runga ake nei, ka taea e tatou te whakahaere i nga VM me te Selenium Grid i runga i te tono, te whakanui ranei i te maha o nga Nodes i roto i te kohinga. Mo te kotahi paipa, ka whakarewahia e matou nga kaitirotiro 500 ka mutu nga rauemi katoa i muri i te otinga o nga whakamatautau. Mena ka whakamahia e matou te Marama, me utu he taapiri 500 x 5 = $2500 ia marama, ahakoa pehea te maha o nga whakamatautau. Ano, kaore au e kii ana kaua e whakamahi i te Marama. Mo o mahi, he otinga tino nui tenei, hei tauira, mena he maha nga kaupapa/tiima kei roto i to whakahaere me te hiahia koe ki tetahi kahui nui noa mo te katoa. Ka rite ki nga wa katoa, ka waiho e ahau he hononga ki te mutunga ka tūtohu kia mahia nga tatauranga e tika ana i roto i te horopaki o to mahi.

Callisto: (Te aro! Kaore tenei i roto i te tuhinga taketake, kei roto anake i te whakamaoritanga reo Ruhia)

Ka rite ki taku korero, he taputapu tino rongonui a Selenium, a kei te tere haere te mara IT. I a au e mahi ana i te whakamaoritanga, ka puta mai he taputapu hou e kiia nei ko Callisto ki runga ipurangi (hello Cypress and other Selenium killers). Ka mahi taketake me nga K8s ka taea e koe te whakahaere i nga ipu Selenoid i roto i nga poro, ka tohatoha puta noa i nga Nodes. Ka mahi tika nga mea katoa i waho o te pouaka, tae atu ki te autoscaling. He mea whakamiharo, engari me whakamatau. Kua taea e au te tuku i tenei taputapu me te whakahaere i nga whakamatautau maha. Engari he moata rawa ki te whakatau whakatau, i muri i te whiwhinga i nga hua mo te tawhiti, tera pea ka mahia e au he arotake i nga tuhinga a meake nei. I tenei wa ka waiho noa e au nga hononga mo te rangahau motuhake.  

Whakaahua o te ahua o nga hanganga o naianei

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Hononga ki te tuhura

Nga taputapu rite

7. Hanganga hei Waehere (IaC)

Whakaahuatanga poto mo te hangarau

Na inaianei ka tae tatou ki te waahanga whakamutunga. Ko te tikanga, ko tenei hangarau me nga mahi e pa ana ehara i te kawenga a nga miihini aunoa. A he take ano mo tenei. Tuatahi, i roto i te maha o nga whakahaere, ko nga take hanganga kei raro i te mana whakahaere o te tari DevOps me nga roopu whanaketanga kaore e tino aro ki nga mea e mahi ai te paipa me pehea nga mea katoa e hono ana me tautoko. Tuarua, kia pono, ko te tikanga o Infrastructure as Code (IaC) kare ano i te whakamahia i roto i nga kamupene maha. Engari kua tino noho hei ahua rongonui, he mea nui ki te ngana ki te whakauru ki nga tukanga, nga huarahi me nga taputapu e pa ana ki a ia. Ranei i te iti rawa kia noho tonu ki te waa.

Me timata me te hihiri mo te whakamahi i tenei huarahi. Kua korerohia e matou mo te whakahaere i nga whakamatautau i GitlabCI, me iti rawa nga rauemi hei whakahaere i a Gitlab Runner. A, ki te whakahaere ipu me nga kaitirotiro/emulator, me rahui he VM, he tautau ranei. I tua atu i nga rauemi whakamatautau, me nui te kaha ki te tautoko i te whakawhanaketanga, te whakaari, nga taiao whakangao, kei roto ano hoki nga papaarangi, nga raarangi aunoa, nga whirihoranga whatunga, nga taurite kawenga, nga mana kaiwhakamahi, me era atu. Ko te kaupapa matua ko te kaha ki te tautoko i te katoa. He maha nga huarahi ka taea e tatou te whakarereke me te whakaputa whakahou. Hei tauira, i roto i te horopaki o te GCP, ka taea e tatou te whakamahi i te papatohu UI i roto i te tirotiro me te mahi i nga mahi katoa ma te paatene i nga paatene. Ko tetahi atu ko te whakamahi i nga waea API ki te taunekeneke ki nga hinonga kapua, ki te whakamahi ranei i te taputapu raina whakahau gcloud hei mahi i nga whawhe e hiahiatia ana. Engari na te maha o nga hinonga rereke me nga huānga hanganga, ka uaua, ka kore ranei e taea te mahi i nga mahi katoa. Ano, ko enei mahi a-ringa katoa kaore e taea te whakahaere. Kaore e taea e matou te tuku mo te arotake i mua i te mahi, te whakamahi i te punaha whakahaere putanga, me te whakahoki tere i nga huringa i puta ai te aitua. Hei whakaoti i enei raruraru, i hangaia e nga miihini me te hanga i nga tuhinga bash/shell aunoa, kaore i te pai ake i nga tikanga o mua, na te mea ehara i te mea ngawari ki te panui tere, ki te mohio, ki te pupuri me te whakarereke i roto i te momo tikanga.

I roto i tenei tuhinga me pehea te arahi, ka whakamahi ahau i nga taputapu 2 e pa ana ki te mahi IaC. He Terraform me Ansible enei. Ko etahi e whakapono ana kaore he tikanga ki te whakamahi i aua mea i te wa ano, na te mea he rite o raatau mahi me te rereke. Engari ko te meka ko te tuatahi ka whakawhiwhia ki a raatau nga mahi rereke. A ko te meka ko enei taputapu me whakakii tetahi ki tetahi i whakapumautia i te whakaaturanga tahi a nga kaiwhakawhanake hei tohu mo HashiCorp me RedHat. Ko te rereketanga o te ariā ko te Terraform he taputapu whakarato mo te whakahaere i nga kaitoro. Ahakoa he taputapu whakahaere whirihoranga a Ansible ko tana mahi ko te whakauru, te whirihora me te whakahaere i nga raupaparorohiko ki enei tuunga.

Ko tetahi atu ahuatanga motuhake o enei taputapu ko te ahua tohu. Kaore i rite ki te bash me te Ansible, ka whakamahi a Terraform i te ahua korero i runga i te whakaahuatanga o te ahua mutunga e hiahiatia ana kia tutuki hei hua o te mahi. Hei tauira, ki te hanga tatou i nga VM 10 me te whakamahi i nga huringa ma te Terraform, ka whiwhi tatou i nga VM 10. Mena ka whakahaere ano tatou i te tuhinga, kaore he mea ka puta mai i te mea kua 10 nga VM, a ka mohio a Terraform mo tenei na te mea kei te rongoa i te ahuatanga o naianei o nga hanganga i roto i te konae kawanatanga. Engari ka whakamahi a Ansible i tetahi huarahi tikanga, a, ki te tono koe kia hanga 10 VMs, na i te whakarewanga tuatahi ka whiwhi matou i nga VM 10, he rite ki a Terraform. Engari i muri i te whakaara ano ka 20 nga VM. Koinei te rereketanga nui. I roto i te ahua tikanga, kaore matou e penapena i te ahua o naianei me te whakaahua noa i te raupapa o nga waahanga me mahi. Ae ra, ka taea e taatau te whakahaere i nga ahuatanga rereke, te taapiri i nga tini arowhai mo te oranga o nga rawa me te ahuatanga o naianei, engari kaore he take mo te moumou taima me te whakapau kaha ki te whakahaere i tenei arorau. I tua atu, ka piki ake te tupono ki te mahi he. 

Ma te whakarapopoto i nga mea katoa o runga ake nei, ka taea e tatou te whakatau ko te Terraform me te tuhipoka whakapuakanga he taputapu pai ake mo te whakarato kaitoro. Engari he pai ake te tuku i nga mahi whakahaere whirihoranga ki a Ansible. Ka mutu tera, me titiro ki nga keehi whakamahi i roto i te horopaki o te aunoatanga.

Uara mo te hanganga aunoa

Ko te mea nui ki te maarama i konei ko te whakaurunga o te miihini whakamatautau me whakaarohia hei waahanga o te hanganga kamupene katoa. Ko te tikanga ko nga mahi IaC katoa me uru ki te ao katoa ki nga rauemi o te whakahaere katoa. Ko wai te kawenga mo tenei ka whakawhirinaki ki o tukanga. Ko te roopu DevOps he mohio ake ki enei take, ka kite ratou i te pikitia katoa o nga mea e tupu ana. Engari, he nui ake te whai waahi o nga miihini QA ki nga mahi o te hanga aunoatanga me te hanganga o te pipeline, e taea ai e ratou te kite pai ake i nga huringa katoa e hiahiatia ana me nga waahi hei whakapai ake. Ko te mea pai ko te mahi tahi, te whakawhiti matauranga me nga whakaaro kia tutuki ai te hua e tumanakohia ana. 

Anei etahi tauira mo te whakamahi i te Terraform me te Ansible i roto i te horopaki o te aunoatanga whakamatautau me nga taputapu i korerohia e matou i mua:

1. Whakaahuahia nga ahuatanga me nga tawhā e tika ana mo nga VM me nga tautau e whakamahi ana i a Terraform.

2. Ma te whakamahi i te Ansible, whakauruhia nga taputapu e tika ana mo te whakamatautau: docker, Selenoid, Selenium Grid ka tango i nga putanga e hiahiatia ana o nga kaitirotiro / emulators.

3. Ma te whakamahi i te Terraform, whakaahuahia nga ahuatanga o te VM ka whakarewahia a GitLab Runner.

4. Tāutahia a GitLab Runner me nga taputapu e tika ana ma te whakamahi i te Ansible, tautuhi i nga tautuhinga me nga whirihoranga.

Whakaahua o te ahua o nga hanganga o naianei

Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Hononga ki te tuhura:

Nga taputapu rite

Kia whakarāpopotohia!

Hipanga
hangarau
Utauta
Uara mo te hanganga aunoa

1
Rere rohe
Node.js, Selenium, Appium

  • Ko nga taputapu rongonui mo te paetukutuku me te pūkoro
  • Ka tautokohia nga reo maha me nga papaaho (tae atu ki a Node.js)

2
Nga punaha whakahaere mana 
Git

  • He rite nga painga me te waehere whanaketanga

3
Whakapapanga
Docker, Matiti Selenium, Selenoid (Tukutuku, Android)

  • Te whakahaere i nga whakamatautau whakarara
  • Nga taiao taratahi
  • Nga whakamohoatanga putanga ngawari, ngawari
  • Te aukati i nga rauemi kaore i whakamahia
  • He ngawari ki te whakarite

4
CI/CD
Gitlab CI

  • Ka whakamatau i tetahi waahanga o te paipa
  • Быст
  • Te tirohanga mo te kamupene/roopu katoa

5
Papa kapua
Google Cloud Platform

  • Rauemi i runga i te tono (ka utua anake ina hiahiatia)
  • He ngawari ki te whakahaere me te whakahou
  • Te tirohanga me te mana whakahaere o nga rauemi katoa

6
Whakahoahoa
Kubernetes
I roto i te horopaki o nga ipu me nga kaitirotiro / emulators i roto i nga pene:

  • Tauine/aunoa
  • Te whakaora whaiaro
  • Nga whakahōu me te whakamuri me te kore e aukati

7
Hanganga hei waehere (IaC)
Terraform, Ansible

  • He rite nga painga ki nga hanganga whanaketanga
  • Nga painga katoa o te whakaputanga waehere
  • He ngawari ki te whakarereke me te pupuri
  • Tino aunoa

Nga hoahoa mahere hinengaro: te whanaketanga o nga hanganga

taahiraa1: Paetata
Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

taahiraa2: VCS
Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

taahiraa 3: Te whakatakoto i te ipu 
Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

taahiraa4: CI/CD 
Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

step5: Cloud Platforms
Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

Hipanga 6: Te Whakaraupapa
Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

taahiraa7: IaC
Ko nga taputapu DevOps ehara mo DevOps anake. Ko te tukanga o te hanga i te hanganga aunoatanga whakamatautau mai i te wahanga

He aha te i muri?

Na, koinei te mutunga o te tuhinga. Engari hei mutunga, e hiahia ana ahau ki te whakarite i etahi whakaaetanga ki a koe.

Mai i to taha
Ka rite ki taku korero i te timatanga, e hiahia ana ahau kia whai hua te tuhinga me te awhina i a koe ki te whakamahi i nga matauranga kua riro mai i roto i nga mahi tino. Ka tapiri ano ahau hono ki te aratohu mahi.

Engari ahakoa i muri i tera, kaua e mutu, mahi, ako i nga hononga me nga pukapuka e tika ana, kimihia me pehea te mahi i roto i to kamupene, kimihia nga waahi ka taea te whakapai ake me te whakauru ki roto. Waimarie!

Mai i taku taha

Mai i te taitara ka kite koe koinei anake te waahanga tuatahi. Ahakoa te mea i puta mai he tino nui, kaore ano nga kaupapa nui e korerohia i konei. I te waahanga tuarua, ka whakamahere ahau ki te titiro ki nga hanganga automation i roto i te horopaki o IOS. Na te aukati a Apple ki te whakahaere i nga simulators iOS i runga i nga punaha macOS anake, kua whakawhāitihia a maatau otinga. Hei tauira, kaore e taea e matou te whakamahi i te Docker hei whakahaere i te simulator, i nga kapua whanui ranei hei whakahaere i nga miihini mariko. Engari ehara tenei i te mea kaore he huarahi ke atu. Ka ngana ahau ki te whakamohio ki a koe me nga otinga matatau me nga taputapu hou!

Ano, kare ano au i whakahua i nga kaupapa tino nui e pa ana ki te aroturuki. I te Wāhanga 3, ka titiro ahau ki nga taputapu aroturuki hanganga tino rongonui me nga raraunga me nga inenga hei whakaaro.

Ka mutu. I te wa kei te heke mai, ka whakamahere ahau ki te tuku i tetahi akoranga ataata mo te hanga i nga hanganga whakamatautau me nga taputapu rongonui. I tenei wa, he maha nga akoranga me nga korero mo DevOps i runga i te Ipurangi, engari ko nga rauemi katoa e whakaatuhia ana i roto i te horopaki o te whakawhanaketanga, ehara i te whakamatautau aunoa. Mo tenei take, ka tino hiahia ahau ki te whakahoki korero mo te mea ka pai, ka whai hua tenei akoranga mo te hapori o nga kaiwhakaatu me nga miihini miihini. Mauruuru koe i mua!

Source: will.com

Tāpiri i te kōrero