ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

Mahele 1: Pūnaewele/Android

i hoʻopuka: He unuhi kēia ʻatikala ma ka ʻōlelo Lūkini o ka ʻatikala kumu "ʻAʻole wale nā ​​mea hana DevOps no DevOps. "Ke kūkulu ʻana i ka ʻōnaehana hoʻāʻo hoʻāʻo mai ka wā ʻōpio." Eia naʻe, mālama ʻia nā kiʻi, nā loulou, nā ʻōlelo a me nā huaʻōlelo ma ka ʻōlelo kumu e pale aku ai i ka hoʻololi ʻana i ke ʻano ke unuhi ʻia i ka ʻōlelo Lūkini. Makemake au iā ʻoe hauʻoli i ke aʻo ʻana!

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

I kēia manawa, ʻo ka DevOps kūikawā kekahi o nā koi nui loa i ka ʻoihana IT. Inā wehe ʻoe i nā pūnaewele ʻimi hana kaulana a kānana e ka uku, e ʻike ʻoe aia nā hana pili DevOps ma ka piko o ka papa inoa. Eia nō naʻe, he mea nui e hoʻomaopopo ʻo ia ka mea e pili ana i kahi kūlana 'Senior', ʻo ia hoʻi he kiʻekiʻe kiʻekiʻe o ka moho, ka ʻike o ka ʻenehana a me nā mea hana. Hele mai kēia me kahi kūlana kiʻekiʻe o ke kuleana e pili ana i ka hana pau ʻole o ka hana. Eia naʻe, hoʻomaka mākou e poina i ka DevOps. I ka wā mua, ʻaʻole ia he kanaka kikoʻī a ʻoihana paha. Inā mākou e ʻimi i nā wehewehe ʻana o kēia huaʻōlelo, e ʻike mākou i nā inoa nani a pololei hoʻi, e like me ke ʻano, ka hana, ka moʻomeheu moʻomeheu, ka hui o nā manaʻo, a pēlā aku.

ʻO kaʻu hana kūikawā he ʻenekini hoʻāʻo ʻenehana (QA automation engineer), akā ke manaʻoʻiʻo nei au ʻaʻole pono e hoʻopili wale ʻia me ka kākau ʻana i nā hoʻāʻo auto a i ʻole ka hoʻomohala ʻana i ka hoʻolālā hoʻolālā hoʻāʻo. I ka makahiki 2020, pono ka ʻike o ka ʻōnaehana automation. ʻAe kēia iā ʻoe e hoʻonohonoho i ke kaʻina hana automation iā ʻoe iho, mai ka holo ʻana i nā hoʻokolohua a hiki i ka hāʻawi ʻana i nā hopena i nā mea kuleana āpau e like me kāu mau pahuhopu. ʻO ka hopena, pono nā mākau DevOps e hoʻokō i ka hana. A maikaʻi kēia mau mea a pau, akā naʻe, aia kahi pilikia (spoiler: ho'āʻo kēia ʻatikala e hoʻomaʻamaʻa i kēia pilikia). ʻO ka manaʻo he paʻakikī ʻo DevOps. A he mea maopopo kēia, no ka mea, ʻaʻole e uku nui nā ʻoihana no kahi mea maʻalahi e hana ... I ka honua DevOps, aia ka nui o nā mea hana, nā huaʻōlelo, a me nā hana e pono ai ke haku. He paʻakikī loa kēia i ka hoʻomaka ʻana o kahi ʻoihana a hilinaʻi i ka ʻike loea i hōʻiliʻili ʻia.

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko
Source: http://maximelanciauxbi.blogspot.com/2017/04/devops-tools.html

Ma ʻaneʻi paha mākou e hoʻopau ai me ka ʻāpana hoʻomaka a nānā i ke kumu o kēia ʻatikala. 

He aha kēia ʻatikala?

Ma kēia ʻatikala, e haʻi aku wau i koʻu ʻike i ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo. Nui nā kumu o ka ʻike ma ka Pūnaewele e pili ana i nā mea hana like ʻole a pehea e hoʻohana ai iā lākou, akā makemake wau e nānā pono iā lākou i ka pōʻaiapili o ka automation. Ke manaʻoʻiʻo nei au he nui nā ʻenekini automation i kamaʻāina i ke kūlana inā ʻaʻohe mea e holo i nā hoʻokolohua i kūkulu ʻia a mālama paha i ka mālama ʻana iā lākou. ʻO ka hopena, lilo nā hoʻokolohua i ka wā kahiko a pono ʻoe e hoʻolilo i ka manawa e hoʻonui iā lākou. Eia hou, i ka hoʻomaka ʻana o kahi ʻoihana, hiki i kēia ke hana paʻakikī: e hoʻoholo me ke akamai i nā mea hana e kōkua i ka hoʻopau ʻana i kahi pilikia i hāʻawi ʻia, pehea e koho ai, hoʻonohonoho a mālama iā lākou. Huli kekahi mau mea ho'āʻo iā DevOps (kanaka) no ke kōkua a, e ʻoiaʻiʻo kākou, hana kēia ala. I nā hihia he nui paha kēia wale nō ke koho no ka mea ʻaʻole mākou i ʻike i nā hilinaʻi āpau. Akā e like me kā mākou e ʻike ai, he poʻe paʻahana loa ʻo DevOps, no ka mea, pono lākou e noʻonoʻo e pili ana i ka ʻoihana holoʻokoʻa o ka ʻoihana, hoʻonohonoho, nānā, microservices a me nā hana like ʻole e pili ana i ka hui / hui. E like me ka mea maʻamau, ʻaʻole pono ka automation. I kēlā hihia, pono mākou e hoʻāʻo e hana i nā mea āpau i hiki i kā mākou ʻaoʻao mai ka hoʻomaka a i ka hopena. E hōʻemi kēia i nā hilinaʻi, e wikiwiki i ka hana, hoʻomaikaʻi i kā mākou mau mākau a ʻae iā mākou e ʻike i ke kiʻi nui o nā mea e hana nei.

Hōʻike ka ʻatikala i nā mea hana kaulana a kaulana loa a hōʻike i ka hoʻohana ʻana iā lākou e kūkulu i kahi ʻōnaehana automation i kēlā me kēia pae. Hōʻikeʻia kēlā me kēia hui e nā mea hana i ho'āʻoʻia ma o kaʻike pilikino. Akā ʻaʻole ia he manaʻo pono ʻoe e hoʻohana i ka mea like. ʻAʻole koʻikoʻi nā mea hana ponoʻī, ʻike ʻia lākou a lilo i mea kahiko. ʻO kā mākou hana ʻenekinia ka hoʻomaopopo ʻana i nā kumu kumu: no ke aha mākou e pono ai i kēia pūʻulu o nā mea hana a me nā pilikia hana hiki iā mākou ke hoʻoponopono me kā lākou kōkua. ʻO ia ke kumu i ka pau ʻana o kēlā me kēia ʻāpana ke waiho nei au i nā loulou i nā mea hana like e hoʻohana ʻia i kāu hui.

He aha ka mea ʻole ma kēia ʻatikala

Ke haʻi hou aku nei au ʻaʻole pili ka ʻatikala e pili ana i nā mea hana kikoʻī, no laila ʻaʻole e hoʻokomo ʻia nā code mai nā palapala a me nā wehewehe o nā kauoha kikoʻī. Akā ma ka pau ʻana o kēlā me kēia ʻāpana, waiho wau i nā loulou no ka noiʻi kikoʻī.

Hana ʻia kēia no ka mea: 

  • He mea maʻalahi loa kēia ʻike ma nā kumu like ʻole (ka palapala, nā puke, nā papa wikiō);
  • inā hoʻomaka mākou e hele hohonu, pono mākou e kākau i nā ʻāpana 10, 20, 30 o kēia ʻatikala (ʻoiai nā hoʻolālā he 2-3);
  • ʻAʻole wau makemake e hoʻopau i kou manawa no ka mea makemake paha ʻoe e hoʻohana i nā mea hana ʻē aʻe e hoʻokō ai i nā pahuhopu like.

E aʻo

Makemake au i mea e pono ai kēia mea heluhelu i kēlā me kēia mea heluhelu, ʻaʻole heluhelu wale a poina. I kēlā me kēia haʻawina, he mea nui ka hoʻomaʻamaʻa. No keia ua hoomakaukau au ʻO ka waihona waihona ʻo GitHub me nā ʻōlelo aʻoaʻo i kēlā me kēia ʻanuʻu i ka hana ʻana i nā mea āpau mai ka ʻōpala. Aia kekahi haʻawina home e kali ana iā ʻoe e hōʻoia ʻaʻole ʻoe e kope me ka noʻonoʻo ʻole i nā laina o nā kauoha āu e hoʻokō nei.

E hoʻolālā

'anuʻu
Technology
Mea hana

1
Holo kūloko (hoʻomākaukau i nā hoʻokolohua demo pūnaewele / android a holo ma ka ʻāina) 
Node.js, Selenium, Appium

2
Pūnaehana mana mana 
ʻO Git

3
Ka hoʻokomo ʻana
Docker, Selenium grid, Selenoid (Web, Android)

4
CI/CD
Gitlab CI

5
Nā anuu ʻōpua
Google Kapua anuu

6
Orchestration
Kubernetes

7
ʻO ka ʻenehana ma ke ʻano he code (IaC)
Terraform, Ansible

ʻO ke ʻano o kēlā me kēia ʻāpana

No ka mālama pono ʻana i ka moʻolelo, wehewehe ʻia kēlā me kēia ʻāpana e like me kēia outline:

  • ka wehewehe pōkole o ka ʻenehana,
  • waiwai no ka ʻōnaehana automation,
  • hōʻike o ke kūlana o kēia manawa o ka ʻōnaehana,
  • nā loulou i ke aʻo ʻana,
  • mea paahana like.

1. Holo i nā hoʻokolohua ma ka ʻāina

ʻO ka wehewehe pōkole o ka ʻenehana

He hana hoʻomākaukau wale nō kēia no ka holo ʻana i nā hoʻokolohua demo ma ka ʻāina a hōʻoia ua hala lākou. Ma ka ʻāpana hana, hoʻohana ʻia ʻo Node.js, akā ʻaʻole mea nui ka ʻōlelo hoʻolālā a me ka paepae a hiki iā ʻoe ke hoʻohana i nā mea i hoʻohana ʻia i kāu hui. 

Eia nō naʻe, e like me nā mea hana automation, paipai wau e hoʻohana iā Selenium WebDriver no nā pūnaewele pūnaewele a me Appium no ka Android platform, ʻoiai ma nā ʻanuʻu aʻe e hoʻohana mākou i nā kiʻi Docker i hoʻohālikelike ʻia e hana pono me kēia mau mea hana. Eia kekahi, e pili ana i nā koi o ka hana, ʻo kēia mau mea hana ka mea i koi nui ʻia ma ka mākeke.

E like me kāu i ʻike ai, noʻonoʻo wale mākou i nā hoʻokolohua pūnaewele a me Android. ʻO ka mea pōʻino, he moʻolelo ʻokoʻa loa ʻo iOS (mahalo iā Apple). Hoʻolālā wau e hōʻike i nā haʻina a me nā hana pili IOS ma nā ʻāpana e hiki mai ana.

ʻO ka waiwai no ka ʻōnaehana automation

Mai kahi hiʻohiʻona ʻoihana, ʻaʻole hāʻawi ka holo ʻana i kahi waiwai. E nānā wale ʻoe i ka holo ʻana o nā hoʻokolohua ma ka mīkini kūloko i nā mākaʻikaʻi kūloko a me nā simulators. Akā i kekahi hihia, he wahi hoʻomaka kēia.

Hōʻike o ke kūlana o kēia manawa

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

Nā loulou e makaʻala

Nā mea hana like

  • kekahi ʻōlelo hoʻolālā āu e makemake ai e hui pū me nā hoʻokolohua Selenium/Appium;
  • nā ho'āʻo;
  • kekahi kukini hoao.

2. Pūnaehana mana mana (Git)

ʻO ka wehewehe pōkole o ka ʻenehana

ʻAʻole ia he hōʻike nui i kekahi inā ʻōlelo wau he ʻāpana koʻikoʻi ka mana o ka hoʻomohala ʻana, ma ka hui a me kēlā me kēia. Ma muli o nā kumu like ʻole, palekana ke ʻōlelo ʻo Git ka ʻelele kaulana loa. Hāʻawi ka ʻōnaehana mana mana i nā pōmaikaʻi he nui, e like me ke kaʻana like ʻana i nā code, mālama i nā mana, hoʻihoʻi i nā lālā mua, ka nānā ʻana i ka mōʻaukala papahana, a me nā backup. ʻAʻole mākou e kūkākūkā kikoʻī i kēlā me kēia kikoʻī, ʻoiai ua maopopo iaʻu ua kamaʻāina loa ʻoe a hoʻohana i kāu hana i kēlā me kēia lā. Akā inā ʻaʻole hiki, a laila makemake wau e hoʻomaha i ka heluhelu ʻana i kēia ʻatikala a hoʻopiha i kēia āpau i ka hiki.

ʻO ka waiwai no ka ʻōnaehana automation

A maanei hiki iā ʻoe ke nīnau i kahi nīnau kūpono: "No ke aha ʻo ia e haʻi mai nei iā mākou e pili ana iā Git? Ua ʻike nā kānaka a pau i kēia a hoʻohana iā ia no ka code development a no ka code hoʻāʻo auto. E pololei loa ʻoe, akā ma kēia ʻatikala mākou e kamaʻilio nei e pili ana i ka ʻenehana a hana kēia ʻāpana ma ke ʻano he ʻike no ka pauku 7: "Infrastructure as Code (IaC)". No mākou, ʻo ia ke ʻano o ka ʻōnaehana holoʻokoʻa, me ka hoʻāʻo ʻana, ua wehewehe ʻia ma ke ʻano o ke code, no laila hiki iā mākou ke hoʻopili i nā ʻōnaehana versioning iā ia a loaʻa nā pono like e like me ka hoʻomohala ʻana a me ka code automation.

E nānā mākou iā IaC i nā kikoʻī hou aku ma ka Step 7, akā i kēia manawa hiki iā ʻoe ke hoʻomaka e hoʻohana iā Git kūloko ma ka hana ʻana i kahi waihona kūloko. E hoʻonui ʻia ke kiʻi nui ke hoʻohui mākou i kahi waihona mamao i ka ʻōnaehana.

Hōʻike o ke kūlana o kēia manawa

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

Nā loulou e makaʻala

Nā mea hana like

3. Hoʻopaʻa ʻia (Docker)

ʻO ka wehewehe pōkole o ka ʻenehana

No ka hōʻike ʻana i ka hoʻololi ʻana o ka containerization i nā lula o ka pāʻani, e hoʻi kākou i ka manawa i kekahi mau makahiki. I kēlā manawa, kūʻai a hoʻohana nā kānaka i nā mīkini kikowaena e holo i nā noi. Akā i ka hapanui o nā hihia, ʻaʻole i ʻike mua ʻia nā kumuwaiwai hoʻomaka. ʻO ka hopena, ua hoʻohana nā ʻoihana i ke kālā no ke kūʻai ʻana i nā kikowaena pipiʻi, ikaika, akā ʻaʻole i hoʻohana piha ʻia kekahi o kēia mana.

ʻO ka pae aʻe o ka hoʻomohala ʻana ʻo nā mīkini virtual (VMs), ka mea i hoʻoponopono i ka pilikia o ka hoʻopau kālā i nā kumuwaiwai i hoʻohana ʻole ʻia. ʻO kēia ʻenehana i hiki ke holo i nā noi kūʻokoʻa o kekahi i kekahi i loko o ka kikowaena hoʻokahi, hoʻokaʻawale i kahi kaʻawale loa. Akā, ʻo ka mea pōʻino, loaʻa i kēlā me kēia ʻenehana kona drawbacks. Pono ka holo ʻana i kahi VM i kahi ʻōnaehana holoʻokoʻa, e hoʻopau i ka CPU, RAM, ka waiho ʻana a, ma muli o ka OS, pono e noʻonoʻo ʻia nā kumukūʻai laikini. Hoʻopili kēia mau mea i ka wikiwiki o ka hoʻouka ʻana a paʻakikī i ka lawe ʻana.

A i kēia manawa hele mākou i ka containerization. Eia hou, hoʻoponopono kēia ʻenehana i ka pilikia ma mua, no ka mea, ʻaʻole hoʻohana nā pahu i kahi OS piha, kahi e hoʻokuʻu ai i ka nui o nā kumuwaiwai a hāʻawi i kahi hopena wikiwiki a maʻalahi no ka portability.

ʻOiaʻiʻo, ʻaʻole mea hou ka ʻenehana containerization a ua hoʻokomo mua ʻia i ka hopena o 70s. I kēlā mau lā, nui nā noiʻi, nā hoʻomohala, a me nā hoʻāʻo i hana ʻia. Akā ʻo Docker i hoʻololi i kēia ʻenehana a hiki ke maʻalahi i ka lehulehu. I kēia mau lā, ke kamaʻilio nei mākou e pili ana i nā ipu, i ka hapanui o nā hihia ke manaʻo nei mākou ʻo Docker. Ke kamaʻilio nei mākou e pili ana i nā pahu Docker, ʻo mākou ka manaʻo o nā ipu Linux. Hiki iā mākou ke hoʻohana i nā ʻōnaehana Windows a me macOS e holo i nā ipu, akā he mea nui e hoʻomaopopo i kēia hihia e ʻike ʻia kahi papa hou. No ka laʻana, holo mālie ʻo Docker ma Mac i nā ipu i loko o kahi Linux VM māmā. E hoʻi mākou i kēia kumuhana ke kūkākūkā mākou i ka holo ʻana i nā emulators Android i loko o nā pahu, no laila aia kahi nuance koʻikoʻi e pono e kūkākūkā hou ʻia.

ʻO ka waiwai no ka ʻōnaehana automation

Ua ʻike mākou he ʻoluʻolu ka containerization a me Docker. E nānā kākou i kēia ma ka pōʻaiapili o ka automation, no ka mea, pono kēlā me kēia mea hana a ʻenehana paha e hoʻoponopono i kahi pilikia. E wehewehe mākou i nā pilikia o ka hoʻāʻo ʻana i ka automation ma ke ʻano o nā hoʻokolohua UI:

  • ka nui o nā hilinaʻi i ka wā e hoʻokomo ai iā Selenium a me Appium;
  • nā pilikia hoʻohālikelike ma waena o nā mana o nā polokalamu kele pūnaewele, simulators a me nā mea hoʻokele;
  • nele i kahi kaʻawale no nā polokalamu kele pūnaewele/simulators, he mea koʻikoʻi loa ia no ka holo like ʻana;
  • paʻakikī ke hoʻokele a mālama inā pono ʻoe e holo i ka 10, 50, 100 a i ʻole 1000 mau polokalamu kele i ka manawa like.

Akā ʻoiai ʻo Selenium ka mea hana automation kaulana loa a ʻo Docker ka mea hana containerization kaulana loa, ʻaʻole ia he mea kupanaha ua hoʻāʻo kekahi e hoʻohui iā lākou e hana i kahi mea hana ikaika e hoʻoponopono ai i nā pilikia i ʻōlelo ʻia ma luna. E noʻonoʻo kākou i ia ʻano hoʻonā i nā kikoʻī. 

Selenium grid ma docker

ʻO kēia mea hana ka mea kaulana loa i ka honua Selenium no ka holo ʻana i nā polokalamu kele pūnaewele ma nā mīkini he nui a me ka mālama ʻana iā lākou mai kahi kikowaena kikowaena. No ka hoʻomaka, pono ʻoe e hoʻopaʻa inoa ma kahi o 2 mau ʻāpana: Hub a me Node (s). ʻO Hub kahi piko waena e loaʻa ai nā noi āpau mai nā hoʻokolohua a hāʻawi iā lākou i nā Nodes kūpono. No kēlā me kēia Node hiki iā mākou ke hoʻonohonoho i kahi hoʻonohonoho kikoʻī, no ka laʻana, ma ke kuhikuhi ʻana i ka polokalamu kele i makemake ʻia a me kāna ʻano. Eia nō naʻe, pono mākou e mālama pono i nā mea hoʻokele polokalamu ponoʻī iā mākou iho a hoʻokomo iā lākou ma nā Nodes i makemake ʻia. No kēia kumu, ʻaʻole hoʻohana ʻia ka Selenium grid i kona ʻano maʻemaʻe, koe wale nō ka wā e pono ai mākou e hana me nā polokalamu kele i hiki ʻole ke hoʻokomo ʻia ma Linux OS. No nā hihia ʻē aʻe a pau, ʻo ka hoʻohana ʻana i nā kiʻi Docker e holo i ka Selenium grid Hub a me Nodes. Hoʻomaʻamaʻa nui kēia ala i ka hoʻokele node, no ka mea hiki iā mākou ke koho i ke kiʻi a mākou e pono ai me nā mana kūpono o nā polokalamu kele a me nā mea hoʻokele i kau ʻia.

ʻOiai nā manaʻo maikaʻi ʻole e pili ana i ke kūpaʻa, ʻoi aku ka nui o ka holo ʻana i ka nui o nā Nodes i ka like, ʻo Selenium grid ka mea kaulana loa no ka holo ʻana i nā hoʻāʻo Selenium i ka like. He mea nui e hoʻomaopopo i nā hoʻomaikaʻi like ʻole a me nā hoʻololi ʻana o kēia hāmeʻa ke ʻike mau nei i ka open-source, e hakakā nei i nā bottlenecks like ʻole.

Selenoid no ka Pūnaewele

He mea holomua kēia mea hana i ka honua o Selenium no ka mea e hana pololei ana i waho o ka pahu a ua maʻalahi ke ola o nā mea ʻenehana automation. ʻO ka mea mua, ʻaʻole kēia he hoʻololi hou o ka Selenium grid. Akā, ua hana nā mea hoʻomohala i kahi mana hou loa o Selenium Hub ma Golang, i hui pū ʻia me nā kiʻi Docker māmā no nā ʻano polokalamu like ʻole, hāʻawi i ka hoʻoikaika i ka hoʻomohala ʻana i ka automation hoʻāʻo. Eia kekahi, i ka hihia o Selenium Grid, pono mākou e hoʻoholo i nā polokalamu kele pūnaewele a pau a me kā lākou mau mana ma mua, ʻaʻole ia he pilikia i ka hana ʻana me hoʻokahi polokalamu kele pūnaewele. Akā i ka hiki ʻana mai i nā polokalamu kele pūnaewele i kākoʻo ʻia, ʻo Selenoid ka hopena helu hoʻokahi e hoʻomaikaʻi i kāna hiʻohiʻona 'browser on demand'. ʻO nā mea a pau e koi ʻia mai iā mākou, ʻo ia ke kiʻi i nā kiʻi pono me nā polokalamu kele ma mua a hoʻohou i ka faila hoʻonohonoho me Selenoid e launa pū ai. Ma hope o ka loaʻa ʻana o Selenoid i kahi noi mai nā hoʻokolohua, e hoʻomaka koke ia i ka ipu i makemake ʻia me ka polokalamu kele i makemake ʻia. Ke pau ka hoʻāʻo ʻana, e hoʻomaha ʻo Selenoid i ka ipu, a laila e hoʻokuʻu i nā kumuwaiwai no nā noi e hiki mai ana. Hoʻopau loa kēia ala i ka pilikia kaulana o ka 'node degradation' a mākou e hālāwai pinepine ai ma ka pā Selenium.

Akā, auē, ʻaʻole ʻo Selenoid he pōkā kālā. Loaʻa iā mākou ka hiʻohiʻona 'browser on demand', akā ʻaʻole loaʻa ka hiʻohiʻona 'resources on demand'. No ka hoʻohana ʻana iā Selenoid, pono mākou e kau iā ia ma ka ʻenehana kino a i ʻole ma kahi VM, ʻo ia ka mea pono mākou e ʻike ma mua i ka nui o nā kumuwaiwai e pono e hoʻokaʻawale. Manaʻo wau ʻaʻole pilikia kēia no nā papahana liʻiliʻi e holo ana i 10, 20 a i ʻole 30 mau polokalamu kele pūnaewele i ka like. Akā, pehea inā makemake mākou i 100, 500, 1000 a ʻoi aku paha? ʻAʻole kūpono ka mālama ʻana a me ka uku ʻana i nā kumuwaiwai he nui i nā manawa āpau. Ma nā ʻāpana 5 a me 6 o kēia ʻatikala, e kūkākūkā mākou i nā hopena e hiki ai iā ʻoe ke hoʻonui, a laila e hōʻemi nui i nā kumukūʻai ʻoihana.

Selenoid no ka Android

Ma hope o ka kūleʻa o Selenoid ma ke ʻano he mea hana pūnaewele pūnaewele, makemake ka poʻe i kahi mea like no ka Android. A ua hiki mai - ua hoʻokuʻu ʻia ʻo Selenoid me ke kākoʻo Android. Mai ka manaʻo o ka mea hoʻohana kiʻekiʻe, ua like ke kumumanaʻo o ka hana me ka automation pūnaewele. ʻO ka ʻokoʻa wale nō ʻo ia ma kahi o nā pahu polokalamu kele pūnaewele, holo ʻo Selenoid i nā ipu emulator Android. I koʻu manaʻo, ʻo kēia ka mea hana manuahi ikaika loa no ka holo ʻana i nā hoʻokolohua Android i ka like.

ʻAʻole wau makemake e kamaʻilio e pili ana i nā ʻano maikaʻi ʻole o kēia hāmeʻa, no ka mea makemake nui wau ia. Eia nō naʻe, aia nā mea like ʻole e pili ana i ka automation pūnaewele a pili pū me ka scaling. Ma waho aʻe o kēia, pono mākou e kamaʻilio e pili ana i hoʻokahi palena ʻē aʻe e hiki ke kahaha inā mākou e hoʻonohonoho i ka mea hana no ka manawa mua. No ka holo ʻana i nā kiʻi Android, pono mākou i kahi mīkini kino a i ʻole VM me ke kākoʻo virtualization nested. Ma ke alakaʻi pehea e alakaʻi ai, hōʻike wau pehea e hiki ai i kēia ma Linux VM. Eia nō naʻe, inā he mea hoʻohana macOS ʻoe a makemake ʻoe e hoʻokau iā Selenoid kūloko, a laila ʻaʻole hiki ke holo i nā hoʻokolohua Android. Akā hiki iā ʻoe ke holo mau i kahi Linux VM kūloko me ka 'nested virtualization' i hoʻonohonoho ʻia a hoʻonoho iā Selenoid i loko.

Hōʻike o ke kūlana o kēia manawa

Ma ka pōʻaiapili o kēia ʻatikala, e hoʻohui mākou i nā mea hana 2 e hōʻike i ka ʻōnaehana. ʻO kēia ka Selenium grid no nā hoʻokolohua pūnaewele a me Selenoid no nā hoʻokolohua Android. Ma ke kumu aʻo GitHub, e hōʻike pū wau iā ʻoe pehea e hoʻohana ai iā Selenoid e holo i nā hoʻokolohua pūnaewele. 

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

Nā loulou e makaʻala

Nā mea hana like

  • Aia kekahi mau mea hana containerization, akā ʻo Docker ka mea kaulana loa. Inā makemake ʻoe e hoʻāʻo i kahi mea ʻē aʻe, e hoʻomanaʻo ʻaʻole e holo nā mea hana a mākou i uhi ai no ka holo ʻana i nā hoʻāʻo Selenium ma ka like ʻole.  
  • E like me ka mea i ʻōlelo ʻia, nui nā hoʻololi o ka Selenium grid, no ka laʻana, Zalenium.

4.CI/CD

ʻO ka wehewehe pōkole o ka ʻenehana

ʻO ka hoʻomaʻamaʻa ʻana o ka hoʻohui mau ʻana i kaulana loa i ka hoʻomohala ʻana a ua like ia me nā ʻōnaehana mana mana. ʻOiai kēia, manaʻo wau aia ka huikau ma nā huaʻōlelo. Ma kēia paukū makemake wau e wehewehe i nā hoʻololi 3 o kēia ʻenehana mai koʻu manaʻo. Ma ka Pūnaewele e ʻike ʻoe i nā ʻatikala he nui me nā wehewehe like ʻole, a he mea maʻamau inā ʻokoʻa kou manaʻo. ʻO ka mea nui, aia ʻoe ma ka ʻaoʻao like me kāu mau hoa hana.

No laila, aia nā huaʻōlelo 3: CI - Hoʻohui Hoʻomau, CD - Hoʻouna mau a me CD hou - Hoʻomau mau. (Ma lalo e hoʻohana wau i kēia mau huaʻōlelo ma ka ʻōlelo Pelekania). Hoʻohui kēlā me kēia hoʻololi i kekahi mau ʻanuʻu hou i kāu pipeline hoʻomohala. Akā ʻo ka ʻōlelo ana (hoomau) ka mea nui loa. Ma kēia pōʻaiapili, manaʻo mākou i kekahi mea mai ka hoʻomaka ʻana a i ka pau ʻana, me ka ʻole o ke keakea ʻana a i ʻole ka hana lima. E nānā kākou iā CI & CD a me CD ma kēia pōʻaiapili.

  • Hoʻohui mau ʻo kēia ka pae mua o ka hoʻomohala ʻana. Ma hope o ka hoʻouna ʻana i nā code hou i ke kikowaena, manaʻo mākou e loaʻa nā manaʻo wikiwiki i ka maikaʻi o kā mākou hoʻololi. ʻO ka maʻamau, loaʻa ka CI i nā mea hana loiloi code static a me nā hoʻāʻo ʻana o ka API i loko.
  • Lawe mau he ʻanuʻu ʻoi aku ka holomua kahi e holo ai mākou i nā hoʻokolohua hoʻohui/UI. Eia nō naʻe, i kēia manawa ʻaʻole mākou e loaʻa nā hopena e like me ka CI. ʻO ka mua, lōʻihi ka hoʻopau ʻana o kēia mau ʻano hoʻāʻo. ʻO ka lua, ma mua o ka hoʻomaka ʻana, pono mākou e kau i kā mākou mau hoʻololi i ke kaiapuni hoʻāʻo/staging. Eia kekahi, inā mākou e kamaʻilio e pili ana i ka hoʻomohala kelepona, a laila ʻike ʻia kahi hana hou e hana i kahi kūkulu o kā mākou noi.
  • Hoʻomau mau manaʻo mākou e hoʻokuʻu aunoa i kā mākou hoʻololi i ka hana inā ua hala nā hoʻokolohua ʻae a pau i nā pae mua. Ma waho aʻe o kēia, ma hope o ka hoʻokuʻu ʻana, hiki iā ʻoe ke hoʻonohonoho i nā pae like ʻole, e like me ka holo ʻana i nā hoʻokolohua uahi ma ka hana ʻana a me ka hōʻiliʻili ʻana i nā metric o ka hoihoi. Hiki ke ho'omau 'ia me ka uhi maika'i e nā ho'ā'o 'akomi. Inā koi ʻia kekahi hana lima, me ka hoʻāʻo ʻana, a laila ʻaʻole kēia Holomua (hoomau). A laila hiki iā mākou ke ʻōlelo e pili wale kā mākou pipeline me ka hoʻomaʻamaʻa ʻana o ka Hoʻomau Hoʻomau.

ʻO ka waiwai no ka ʻōnaehana automation

Ma kēia ʻāpana, pono wau e wehewehe i ka wā e kamaʻilio ai mākou e pili ana i nā hoʻāʻo UI hope-to-end, ʻo ia hoʻi, pono mākou e kau i kā mākou hoʻololi a me nā lawelawe pili e hoʻāʻo i nā kaiapuni. Hoʻohui Hoʻomau - ʻaʻole pili ke kaʻina hana no kēia hana a pono mākou e mālama i ka hoʻokō ʻana i nā hana Hoʻomau Hoʻomau. Maikaʻi nō hoʻi ka hoʻomau mau ʻana i ka pōʻaiapili o nā hoʻokolohua UI inā e holo mākou iā lākou i ka hana.

A ma mua o ko mākou nānā ʻana i ke kiʻi o ka hoʻololi ʻana i ka hale hana, makemake wau e ʻōlelo i kekahi mau huaʻōlelo e pili ana iā GitLab CI. ʻAʻole like me nā mea hana CI / CD ʻē aʻe, hāʻawi ʻo GitLab i kahi waihona mamao a me nā hiʻohiʻona ʻē aʻe he nui. No laila, ʻoi aku ka GitLab ma mua o CI. Loaʻa iā ia ka hoʻokele code kumu, ka hoʻokele Agile, CI/CD pipelines, nā mea hana logging a me ka hōʻiliʻili metric ma waho o ka pahu. ʻO ka hale hoʻolālā GitLab ʻo Gitlab CI/CD a me GitLab Runner. Eia kahi wehewehe pōkole mai ka pūnaewele official:

ʻO Gitlab CI/CD kahi noi pūnaewele me kahi API e mālama ana i kona mokuʻāina i kahi waihona, mālama i nā papahana / kūkulu a hāʻawi i kahi mea hoʻohana. ʻO GitLab Runner kahi noi i kūkulu ʻia. Hiki ke hoʻokaʻawale ʻia a hana pū me GitLab CI/CD ma o kahi API. No nā hoʻokolohua e holo ana, pono ʻoe iā Gitlab instance a me Runner.

Hōʻike o ke kūlana o kēia manawa

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

Nā loulou e makaʻala

Nā mea hana like

5. Nā paepae ao

ʻO ka wehewehe pōkole o ka ʻenehana

Ma kēia ʻāpana e kamaʻilio mākou e pili ana i kahi ʻano kaulana i kapa ʻia ʻo 'public clouds'. ʻOiai nā pōmaikaʻi nui i hāʻawi ʻia e ka virtualization a me nā ʻenehana containerization i hōʻike ʻia ma luna nei, pono mākou i nā kumuwaiwai computing. Kūʻai nā ʻoihana i nā kikowaena kumukūʻai a hoʻolimalima paha i nā kikowaena data, akā i kēia hihia he mea pono e hana i nā helu (i kekahi manawa ʻaʻole maoli) i ka nui o nā kumuwaiwai e pono ai mākou, inā mākou e hoʻohana iā lākou 24/7 a no ke kumu. No ka laʻana, pono ka hana i kahi kikowaena holo XNUMX/XNUMX, akā pono mākou i nā kumuwaiwai like no ka hoʻāʻo ʻana ma waho o nā hola hana? Aia nō ma muli o ke ʻano o ka hoʻāʻo ʻana. ʻO kahi laʻana, ʻo ia nā hoʻāʻo haʻahaʻa/koʻikoʻi a mākou e manaʻo nei e holo i nā hola hana ʻole i mea e loaʻa ai nā hopena i ka lā aʻe. Akā ʻaʻole pono ka loaʻa ʻana o ka server XNUMX/XNUMX no nā hoʻāʻo automated end-to-end a ʻaʻole hoʻi no nā kaiapuni hoʻāʻo manual. No ia mau kūlana, he mea maikaʻi ke loaʻa i nā kumuwaiwai e like me ka mea e pono ai ma ke koi, hoʻohana iā lākou, a hoʻōki i ka uku inā ʻaʻole pono lākou. Eia kekahi, he mea maikaʻi ke loaʻa koke iā lākou ma ka hana ʻana i kekahi mau kaomi ʻiole a i ʻole ka holo ʻana i ʻelua mau palapala. ʻO kēia ka mea i hoʻohana ʻia ai nā ao lehulehu. E nānā kākou i ka wehewehe:

"Ua wehewehe ʻia ke ao lehulehu e like me nā lawelawe ʻikepili i hāʻawi ʻia e nā mea hoʻolako ʻaoʻao ʻekolu ma luna o ka Pūnaewele lehulehu, e hoʻolako iā lākou i nā mea makemake e hoʻohana a kūʻai paha. He manuahi a kūʻai ʻia paha lākou ma ke koi, e ʻae ana i nā mea kūʻai aku e uku wale i kēlā me kēia hoʻohana no nā pōʻai CPU, ka waiho ʻana, a i ʻole ka bandwidth a lākou e ʻai ai. "

Aia kekahi manaʻo he pipiʻi nā ao lehulehu. Akā ʻo kā lākou manaʻo nui e hōʻemi i nā kumukūʻai ʻoihana. E like me ka mea i ʻōlelo ʻia ma mua, ʻae nā ao ākea iā ʻoe e kiʻi i nā kumuwaiwai ma ke koi a uku wale no ka manawa āu e hoʻohana ai. Eia kekahi, i kekahi manawa poina mākou i ka loaʻa ʻana o ka uku o nā limahana, a he kumu waiwai nui nā loea. Pono e noʻonoʻo ʻia e hana maʻalahi nā ao ākea i ke kākoʻo ʻoihana, e hiki ai i nā ʻenekinia ke nānā aku i nā hana koʻikoʻi. 

ʻO ka waiwai no ka ʻōnaehana automation

He aha nā kumuwaiwai kikoʻī e pono ai mākou no nā hoʻāʻo UI end-to-end? ʻO ka mea maʻamau, ʻo ia nā mīkini virtual a i ʻole nā ​​​​hui (e kamaʻilio mākou e pili ana i nā Kubernetes ma ka ʻāpana aʻe) no ka holo ʻana i nā polokalamu kele pūnaewele a me nā emulators. ʻOi aku ka nui o nā polokalamu kele pūnaewele a me nā emulators makemake mākou e holo i ka manawa like, ʻoi aku ka nui o ka CPU a me ka hoʻomanaʻo e koi ʻia a ʻoi aku ka nui o ke kālā a mākou e uku ai. No laila, nā ao lehulehu i loko o ka pōʻaiapili o ka ho'āʻo automation hiki iā mākou ke holo i kahi helu nui (100, 200, 1000...) o nā mākaʻikaʻi / emulators ma ke koi, e kiʻi i nā hopena hoʻāʻo me ka hikiwawe a hoʻōki i ka uku ʻana no kēlā ʻano kumu waiwai nui. mana. 

ʻO nā lawelawe kapuaʻi kaulana loa ʻo Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP). Hāʻawi ke alakaʻi pehea e hoʻohana ai i ka GCP, akā ma ke ʻano maʻamau, ʻaʻole ia e pili i kāu mea e hoʻohana ai no nā hana automation. Hāʻawi lākou a pau i ka hana like. ʻO ka mea maʻamau, no ke koho ʻana i kahi mea hoʻolako, e kālele ana ka hoʻokele i ka ʻoihana holoʻokoʻa o ka ʻoihana a me nā koi ʻoihana, aia ma waho o ke kiko o kēia ʻatikala. No nā mea ʻenekinia automation, ʻoi aku ka maikaʻi o ka hoʻohālikelike ʻana i ka hoʻohana ʻana i nā mea hāʻawi kapuaʻi me ka hoʻohana ʻana i nā paepae kapuaʻi kūikawā no nā kumu hoʻāʻo, e like me Sauce Labs, BrowserStack, BitBar, a pēlā aku. No laila e hana pū kākou! I koʻu manaʻo, ʻo Sauce Labs ka māla hoʻāʻo kapua kaulana loa, ʻo ia ke kumu aʻu i hoʻohana ai no ka hoʻohālikelike. 

ʻO GCP vs.

E noʻonoʻo mākou pono mākou e holo i nā hoʻokolohua pūnaewele 8 a me nā hoʻokolohua Android 8 i ka manawa like. No kēia e hoʻohana mākou i ka GCP a holo i nā mīkini virtual 2 me Selenoid. Ma ka mea mua e hāpai mākou i nā pahu 8 me nā polokalamu kele pūnaewele. Ma ka lua he 8 pahu me nā emulators. E nānā kākou i nā kumukūʻai:  

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko
No ka holo ʻana i hoʻokahi pahu me Chrome, pono mākou n1-maʻamau-1 kaʻa. Ma ka hihia o Android e lilo ia n1-maʻamau-4 no hoʻokahi emulator. ʻO ka ʻoiaʻiʻo, ʻo kahi ala maʻalahi a maʻalahi hoʻi ka hoʻonohonoho ʻana i nā waiwai mea hoʻohana kikoʻī no ka CPU/Memory, akā i kēia manawa ʻaʻole ia he mea nui no ka hoʻohālikelike ʻana me Sauce Labs.

A eia nā uku no ka hoʻohana ʻana i ka Sauce Labs:

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko
Manaʻo wau ua ʻike mua ʻoe i ka ʻokoʻa, akā e hāʻawi mau wau i kahi papaʻaina me nā helu no kā mākou hana:

Pono nā kumuwaiwai
Mahinahina
Nā hola hana(8 am - 8 pm)
Nā hola hana+ Hiki ke hoʻomaka

GCP no ka Pūnaewele
n1-maʻamau-1 x 8 = n1-maʻamau-8
$194.18
23 lā * 12h * 0.38 = $104.88 
23 lā * 12h * 0.08 = $22.08

Sauce Labs no ka Pūnaewele
Nā hoʻāʻo like Cloud8 Virtual
$1.559
-
-

GCP no ka Android
n1-maʻamau-4 x 8: n1-maʻamau-16
$776.72
23 lā * 12h * 1.52 = $419.52 
23 lā * 12h * 0.32 = $88.32

Sauce Labs no ka Android
Nā hoʻāʻo like ʻole ʻo Cloud Device 8
$1.999
-
-

E like me kāu e ʻike ai, ʻoi aku ka nui o ka ʻokoʻa o ke kumukūʻai, ʻoiai inā ʻoe e holo i nā hoʻokolohua wale nō i ka manawa hana he ʻumikumamālua. Akā hiki iā ʻoe ke hōʻemi i nā kumukūʻai inā hoʻohana ʻoe i nā mīkini preemptible. He aha ia?

ʻO kahi VM preemptible he mea hiki iā ʻoe ke hana a holo i ke kumukūʻai ʻoi aku ka nui ma mua o nā manawa maʻamau. Eia naʻe, hiki i ka Compute Engine ke hoʻopau (preempt) i kēia mau manawa inā pono ia e komo i kēlā mau kumuwaiwai no nā hana ʻē aʻe. ʻO nā hiʻohiʻona hiki ke hoʻohana ʻia he ʻoi aku ka nui o ka Compute Engine, no laila ʻokoʻa ko lākou loaʻa me ka hoʻohana.

Inā ʻae hewa kāu mau polokalamu a hiki iā ia ke kū i nā hoʻopiʻi mua, a laila hiki i nā mea hiki ke hoʻemi nui i kāu kumukūʻai Compute Engine. No ka laʻana, hiki ke holo nā hana hoʻoili pūʻulu ma nā manawa preemptible. Inā pau kekahi o ia mau manawa i ka wā o ka hana ʻana, lohi ka hana akā ʻaʻole pau loa. Hoʻopau nā hana preemptible i kāu mau hana hoʻoponopono pūʻulu me ka waiho ʻole ʻana i ka haʻahaʻa hana hou ma kāu mau manawa e kū nei a me ke koi ʻole iā ʻoe e uku i ke kumukūʻai piha no nā manawa maʻamau.

ʻAʻole naʻe i pau! I ka ʻoiaʻiʻo, maopopo iaʻu ʻaʻohe mea e holo i nā hoʻokolohua no 12 mau hola me ka hoʻomaha ʻole. A inā pēlā, hiki iā ʻoe ke hoʻomaka a hoʻōki i nā mīkini virtual inā ʻaʻole pono lākou. Hiki ke hoʻemi ʻia ka manawa hoʻohana maoli i 6 mau hola i kēlā me kēia lā. A laila e emi ana ka uku i ka pōʻaiapili o kā mākou hana i $11 i kēlā me kēia mahina no 8 mau polokalamu kele pūnaewele. He mea kupanaha anei keia? Akā me nā mīkini preemptible pono mākou e makaʻala a mākaukau no ka hoʻopau ʻana a me ka paʻa ʻole, ʻoiai hiki ke hāʻawi ʻia kēia mau kūlana no ka lako polokalamu. Pono ia!

Akā ʻaʻole wau e ʻōlelo 'mai hoʻohana i nā māla hoʻāʻo kapua'. He nui ko lakou pomaikai. ʻO ka mea mua, ʻaʻole kēia he mīkini maʻemaʻe wale nō, akā he hoʻonā piha hoʻāʻo ʻana i ka automation me kahi hoʻonohonoho o ka hana ma waho o ka pahu: kahi mamao mamao, logs, screenshots, wikiō hoʻopaʻa ʻana, nā ʻano polokalamu like ʻole a me nā polokalamu kelepona kino. I nā kūlana he nui, hiki ke lilo kēia i mea koho chic pono. ʻOi aku ka maikaʻi o nā kahua hoʻāʻo no ka automation IOS, inā hiki i nā ao lehulehu ke hāʻawi wale i nā ʻōnaehana Linux/Windows. Akā e kamaʻilio mākou e pili ana iā iOS ma nā ʻatikala aʻe. Manaʻo wau e nānā mau i ke kūlana a hoʻomaka mai nā hana: i kekahi mau mea ʻoi aku ka maʻalahi a ʻoi aku ka maikaʻi o ka hoʻohana ʻana i nā ao lehulehu, a ma nā mea ʻē aʻe, ʻoi aku ka maikaʻi o nā kahua hoʻāʻo i ke kālā i lilo.

Hōʻike o ke kūlana o kēia manawa

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

Nā loulou e makaʻala

Nā mea hana like:

6. ʻO ka hoʻokani pila

ʻO ka wehewehe pōkole o ka ʻenehana

He nūhou maikaʻi kaʻu - ua kokoke mākou i ka hopena o ka ʻatikala! I kēia manawa, loaʻa i kā mākou ʻōnaehana automation nā hoʻokolohua pūnaewele a me Android, a mākou e holo ai ma o GitLab CI i ka like, me ka hoʻohana ʻana i nā mea hana Docker: Selenium grid a me Selenoid. Eia kekahi, hoʻohana mākou i nā mīkini virtual i hana ʻia ma o GCP e hoʻokipa i nā ipu me nā polokalamu kele a me nā emulators. No ka hōʻemi ʻana i nā kumukūʻai, hoʻomaka mākou i kēia mau mīkini virtual wale nō ma ke koi a hoʻōki iā lākou i ka wā ʻaʻole i hoʻokō ʻia ka hoʻāʻo. Aia kekahi mea ʻē aʻe e hiki ke hoʻomaikaʻi i kā mākou ʻoihana? ʻAe ka pane! Hui iā Kubernetes (K8s)!

ʻO ka mua, e nānā kākou i ka pili ʻana o nā huaʻōlelo orchestration, cluster, a me Kubernetes kekahi i kekahi. Ma kahi kiʻekiʻe, ʻo ka orchestration ka ʻōnaehana e hoʻolālā a mālama i nā noi. No ka hoʻomaʻamaʻa hoʻāʻo, ʻo ia mau mea hoʻohana i hoʻopaʻa ʻia ʻo Selenium grid a me Selenoid. Hoʻohui ʻo Docker a me K8 i kekahi i kekahi. Hoʻohana ʻia ka mea mua no ka hoʻolaha ʻana i ka noi, ʻo ka lua no ka orchestration. I ka huli ʻana, ʻo K8s he pūʻulu. ʻO ka hana o ka pūʻulu ʻo ia ka hoʻohana ʻana i nā VM ma ke ʻano he Nodes, kahi e hiki ai iā ʻoe ke hoʻokomo i nā hana like ʻole, nā papahana a me nā lawelawe i loko o hoʻokahi kikowaena (cluster). Inā hāʻule kekahi o nā Nodes, e kiʻi nā Nodes ʻē aʻe, e hōʻoiaʻiʻo i ka hana ʻole o kā mākou noi. Ma waho aʻe o kēia, he hana koʻikoʻi ko K8s e pili ana i ka scaling, mahalo iā mākou e loaʻa koke i ka nui o nā kumuwaiwai e pili ana i ka ukana a hoʻonohonoho i nā palena.

ʻO ka ʻoiaʻiʻo, ʻo ka lawe lima ʻana i nā Kubernetes mai ka wā ʻōpala ʻaʻole ia he hana koʻikoʻi. E waiho wau i kahi loulou i ke alakaʻi kaulana "Kubernetes The Hard Way" a inā makemake ʻoe, hiki iā ʻoe ke hoʻomaʻamaʻa. Akā, pōmaikaʻi, aia nā ala a me nā mea hana ʻē aʻe. ʻO ke ala maʻalahi ka hoʻohana ʻana iā Google Kubernetes Engine (GKE) ma GCP, kahi e hiki ai iā ʻoe ke kiʻi i kahi pūʻulu mākaukau i hana ʻia i kekahi mau kaomi. Manaʻo wau e hoʻohana i kēia ala e hoʻomaka i ke aʻo ʻana, no ka mea e ʻae iā ʻoe e kālele i ke aʻo ʻana i ka hoʻohana ʻana i nā K8 no kāu mau hana ma mua o ke aʻo ʻana pehea e hoʻohui ʻia ai nā ʻāpana kūloko me kekahi. 

ʻO ka waiwai no ka ʻōnaehana automation

E nānā i kekahi mau hiʻohiʻona koʻikoʻi i hāʻawi ʻia e K8s:

  • ka hoʻohana ʻana i ka noi: me ka hoʻohana ʻana i kahi pūʻulu multi-nodes ma kahi o VM;
  • dynamic scaling: hōʻemi i ke kumukūʻai o nā kumuwaiwai i hoʻohana wale ʻia ma ke koi;
  • ho'ōla pono'ī: ho'ōla hou i nā pods (ma muli o ka hoʻihoʻi ʻana o nā ipu);
  • ʻO ka hoʻololi ʻana o nā mea hou a me nā rollbacks o nā loli me ka ʻole o ka downtime: ʻo ka hoʻomaikaʻi ʻana i nā mea hana, nā mākaʻikaʻi a me nā emulators ʻaʻole e hoʻopau i ka hana a nā mea hoʻohana o kēia manawa.

Akā ʻaʻole ʻo K8s he pōkā kālā. No ka hoʻomaopopo ʻana i nā pono āpau a me nā palena i ka pōʻaiapili o nā mea hana a mākou e noʻonoʻo nei (Selenium grid, Selenoid), e kūkākūkā pōkole mākou i ke ʻano o K8s. Loaʻa i ka Cluster nā ʻano Nodes ʻelua: Master Nodes a me Workers Nodes. Na Master Nodes ke kuleana no ka hoʻokele, hoʻonohonoho ʻana a me ka hoʻonohonoho ʻana i nā hoʻoholo. ʻO nā node limahana kahi e hoʻomaka ai nā noi. Loaʻa i nā nodes kekahi kaiapuni holo manawa pahu. I kā mākou hihia, ʻo Docker kēia, nona ke kuleana no nā hana e pili ana i ka pahu. Akā aia kekahi mau hoʻonā ʻokoʻa, no ka laʻana ipu. He mea nui ka hoʻomaopopo ʻana ʻaʻole pili pono ka scaling a i ʻole ka ho'ōla ponoʻī i nā ipu. Hoʻokō ʻia kēia ma ka hoʻohui ʻana/hōʻemi ʻana i ka helu o nā pods, ʻo ia hoʻi nā ipu (maʻamau hoʻokahi pahu i kēlā me kēia pod, akā ma muli o ka hana he nui aʻe paha). ʻO ka hierarchy kiʻekiʻe he mau nodes limahana, aia i loko o nā pods, i loko o nā pahu e hāpai ʻia.

ʻO ka hiʻohiʻona scaling ke kī a hiki ke hoʻopili ʻia i nā node ʻelua i loko o kahi pūnāwai node-pool a me nā pods i loko o kahi node. Aia he 2 mau ʻano o ka scaling e pili ana i nā nodes a me nā pods. ʻO ke ʻano mua he paepae - hoʻonui ʻia ka helu o nā nodes/pods. ʻOi aku ka makemake o kēia ʻano. ʻO ka lua o ke ʻano, no laila, vertical. Hana ʻia ka hoʻonui ʻana i ka nui o nā nodes/pods, ʻaʻole kā lākou helu.

I kēia manawa, e nānā kākou i kā mākou mau mea hana ma ka pōʻaiapili o nā huaʻōlelo i luna.

Māhele Selenium

E like me ka mea i ʻōlelo ʻia ma mua, ʻo Selenium grid kahi mea hana kaulana loa, a ʻaʻole ia he mea kupanaha ua hoʻopaʻa ʻia. No laila, ʻaʻole ia he mea kupanaha e hiki ke kau ʻia ʻo Selenium grid ma K8s. Hiki ke ʻike ʻia kahi hiʻohiʻona pehea e hana ai i ka waihona waihona K8s. E like me ka mea maʻamau, hoʻopili au i nā loulou ma ka hope o ka ʻāpana. Eia kekahi, hōʻike ke alakaʻi pehea e hana ai i kēia ma Terraform. Aia nō nā ʻōlelo aʻo e pili ana i ka hoʻonui ʻana i ka helu o nā pods i loaʻa nā ipu polokalamu kele pūnaewele. Akā ʻaʻole i maopopo loa ka hana scaling ma ka pōʻaiapili o K8s. I koʻu hoʻomaka ʻana i ke aʻo ʻana, ʻaʻole i loaʻa iaʻu kekahi alakaʻi a i ʻole ʻōlelo paipai. Ma hope o kekahi mau noiʻi a me nā hoʻokolohua me ke kākoʻo o ka hui DevOps, ua koho mākou i ke ala o ka hoʻoulu ʻana i nā ipu me nā mea pono e pono ai i loko o hoʻokahi pod, aia i loko o hoʻokahi node limahana. ʻAe kēia ʻano iā mākou e hoʻohana i ka hoʻolālā o ka hoʻonui ʻana i kā lākou helu. Manaʻo wau e loli kēia i ka wā e hiki mai ana a ʻike mākou i nā wehewehe hou aʻe o nā ala maikaʻi aʻe a me nā hoʻonā i mākaukau, ʻoi aku ka nui ma hope o ka hoʻokuʻu ʻia ʻana o ka Selenium grid 4 me kahi hoʻolālā kūloko i hoʻololi ʻia.

Selenoid:

ʻO ka hoʻokomo ʻana o Selenoid i K8s i kēia manawa ka hōʻeha nui loa. ʻAʻole kūpono lākou. Ma ke kumumanaʻo, hiki iā mākou ke hoʻāla i kahi ipu Selenoid i loko o kahi pod, akā i ka wā e hoʻomaka ai ʻo Selenoid e hoʻokuʻu i nā ipu me nā polokalamu kele pūnaewele, aia nō lākou i loko o ka pod hoʻokahi. ʻAʻole ʻokoʻa ka hana a Selenoid i loko o kahi pūʻulu mai ka hana i loko o kahi mīkini virtual. Pau ka moʻolelo.

Moon:

I ka ʻike ʻana i kēia bottleneck i ka wā e hana pū ai me Selenoid, ua hoʻokuʻu nā mea hoʻomohala i kahi mea hana ikaika i kapa ʻia ʻo Moon. Ua hoʻolālā mua ʻia kēia hāmeʻa e hana pū me nā Kubernetes a no laila, hiki ke hoʻohana ʻia ka hiʻohiʻona autoscaling. Eia kekahi, e ʻōlelo wau i kēia manawa ka wale he mea hana ma ka honua Selenium, nona ke kākoʻo pūʻulu K8s maoli ma waho o ka pahu (ʻaʻole loaʻa hou, e ʻike i ka mea hana aʻe ). ʻO nā hiʻohiʻona nui o Moon e hāʻawi i kēia kākoʻo: 

Mokuʻāina ʻole loa. Mālama ʻo Selenoid i ka ʻike hoʻomanaʻo e pili ana i ka holo ʻana o ka polokalamu kele pūnaewele. Inā no kekahi kumu ua hāʻule kāna kaʻina hana - a laila nalowale nā ​​​​kaulana holo. ʻAʻohe mokuʻāina kūloko o Moon a hiki ke hana hou ʻia ma nā kikowaena ʻikepili. Ke ola nei nā kau polokalamu ʻoiai inā e iho ana hoʻokahi a ʻoi aku paha nā kope.

No laila, he hopena maikaʻi loa ka Moon, akā hoʻokahi pilikia: ʻaʻole manuahi. ʻO ke kumukūʻai e pili ana i ka helu o nā kau. Hiki iā ʻoe ke holo i nā kau 0-4 wale nō no ka manuahi, ʻaʻole pono loa. Akā, e hoʻomaka ana mai ke kau ʻelima, pono ʻoe e uku i $5 no kēlā me kēia. ʻOkoʻa paha ke kūlana mai kahi ʻoihana a ʻoihana, akā i kā mākou hihia, ʻaʻole pono ka hoʻohana ʻana i ka Moon. E like me kaʻu i hōʻike ai ma luna, hiki iā mākou ke holo i nā VM me Selenium Grid ma ke koi a hoʻonui paha i ka helu o nā Nodes i ka hui. Ma kahi o hoʻokahi pipeline, hoʻomaka mākou i 500 polokalamu kele pūnaewele a hoʻopau i nā kumuwaiwai āpau ma hope o ka pau ʻana o nā hoʻokolohua. Inā mākou i hoʻohana i ka Moon, pono mākou e uku i kahi 500 x 5 = $2500 i kēlā me kēia mahina, ʻaʻole pili i ka nui o kā mākou holo ʻana i nā hoʻokolohua. Eia hou, ʻaʻole wau e ʻōlelo ʻaʻole e hoʻohana i ka Moon. No kāu mau hana, hiki i kēia ke lilo i mea hoʻonā nui, no ka laʻana, inā he nui kāu mau papahana/hui i kāu hui a pono ʻoe i kahi pūʻulu maʻamau nui no kēlā me kēia. E like me nā manawa a pau, waiho wau i kahi loulou ma ka hopena a paipai wau e hana i nā helu pono āpau i ke ʻano o kāu hana.

ʻOihana: (Nānā! ʻAʻole kēia ma ka ʻatikala kumu a aia ma ka unuhi Lūkini wale nō)

E like me kaʻu i ʻōlelo ai, he mea kaulana loa ʻo Selenium, a ke ulu wikiwiki nei ke kahua IT. ʻOiai wau e hana ana i ka unuhi, ua ʻike ʻia kahi mea hana hoʻohiki hou i kapa ʻia ʻo Callisto ma ka pūnaewele (hello Cypress and other Selenium killers). Hana maoli ia me K8s a hiki iā ʻoe ke holo i nā ipu Selenoid i loko o nā pods, kahele ʻia ma nā Nodes. Hana pololei nā mea a pau ma waho o ka pahu, me ka autoscaling. Fantastic, akā pono e ho'āʻo. Ua hiki iaʻu ke hoʻohana i kēia mea hana a holo i kekahi mau hoʻokolohua. Akā ʻaʻole hiki ke huki i nā hopena, ma hope o ka loaʻa ʻana o nā hopena ma kahi lōʻihi, e hana paha wau i kahi loiloi ma nā ʻatikala e hiki mai ana. I kēia manawa ke waiho nei au i nā loulou no ka noiʻi kūʻokoʻa.  

Hōʻike o ke kūlana o kēia manawa

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

Nā loulou e makaʻala

Nā mea hana like

7. ʻOihana e like me ke Code (IaC)

ʻO ka wehewehe pōkole o ka ʻenehana

A i kēia manawa hiki mākou i ka pauku hope. ʻO ka maʻamau, ʻaʻole kēia ʻenehana a me nā hana pili i ke kuleana o nā ʻenekini automation. A he mau kumu no keia. ʻO ka mea mua, i loko o nā hui he nui, aia nā pilikia ʻoihana ma lalo o ka mana o ka ʻoihana DevOps a ʻaʻole mālama pono nā hui hoʻomohala i ka mea e hana ai ka pipeline a pehea e kākoʻo ʻia ai nā mea a pau e pili ana me ia. ʻO ka lua, e ʻoiaʻiʻo kākou, ʻaʻole ʻae ʻia ka hana o Infrastructure as Code (IaC) i nā ʻoihana he nui. Akā, ua lilo maoli ia i mea kaulana a he mea nui e ho'āʻo e komo i nā kaʻina hana, nā ala a me nā mea hana e pili ana me ia. A i ʻole ma ka liʻiliʻi e noho i kēia lā.

E hoʻomaka kākou me ka hoʻoikaika ʻana no ka hoʻohana ʻana i kēia ʻano. Ua kūkākūkā mua mākou no ka holo ʻana i nā hoʻokolohua ma GitlabCI, pono mākou i ka liʻiliʻi loa i nā kumuwaiwai e holo ai ʻo Gitlab Runner. A no ka holo ʻana i nā ipu me nā mākaʻikaʻi/emulators, pono mākou e mālama i kahi VM a i ʻole cluster. Ma waho aʻe o ka hoʻāʻo ʻana i nā kumuwaiwai, pono mākou i ka nui o ka hiki ke kākoʻo i ka hoʻomohala ʻana, ka hana ʻana, nā ʻenehana hana, e komo pū ana i nā ʻikepili, nā hoʻonohonoho ʻokoʻa, nā hoʻonohonoho pūnaewele, nā mea kaulike, nā kuleana mea hoʻohana, a pēlā aku. ʻO ka pilikia nui ka hoʻoikaika ʻana e kākoʻo i nā mea āpau. Nui nā ala e hiki ai iā mākou ke hoʻololi a hoʻopuka i nā mea hou. No ka laʻana, ma ka pōʻaiapili o GCP, hiki iā mākou ke hoʻohana i ka console UI ma ka polokalamu kele pūnaewele a hana i nā hana āpau ma ke kaomi ʻana i nā pihi. ʻO kahi koho ʻē aʻe ka hoʻohana ʻana i nā kelepona API e launa pū me nā hui kapua, a i ʻole e hoʻohana i ka pono laina kauoha gcloud e hana i nā manipulations i makemake ʻia. Akā me ka nui maoli o nā ʻano hui like ʻole a me nā mea ʻenehana, lilo ia i mea paʻakikī a hiki ʻole paha ke hana i nā hana āpau me ka lima. Eia kekahi, ʻaʻole hiki ke kāohi ʻia kēia mau hana lima. ʻAʻole hiki iā mākou ke hoʻouna iā lākou no ka loiloi ma mua o ka hoʻokō ʻana, hoʻohana i kahi ʻōnaehana mana mana, a hoʻohuli koke i nā loli i alakaʻi i ka hanana. No ka hoʻoponopono ʻana i ia mau pilikia, hana nā ʻenekinia a hana i nā palapala bash/shell maʻalahi, ʻaʻole i ʻoi aku ka maikaʻi ma mua o nā ʻano hana mua, no ka mea ʻaʻole maʻalahi lākou e heluhelu wikiwiki, hoʻomaopopo, mālama a hoʻololi i ke ʻano kaʻina hana.

Ma kēia ʻatikala a pehea e alakaʻi ai, hoʻohana wau i nā mea hana 2 e pili ana i ka hana IaC. ʻO kēia nā Terraform a me Ansible. Manaʻo kekahi poʻe ʻaʻole kūpono ke hoʻohana ʻana iā lākou i ka manawa like, no ka mea ua like kā lākou hana a hiki ke loli. Akā ʻo ka mea ʻoiaʻiʻo, hāʻawi ʻia lākou i nā hana ʻokoʻa loa. A ʻo ka ʻoiaʻiʻo o kēia mau mea hana e hoʻokō ai kekahi i kekahi, ua hōʻoia ʻia ma kahi hōʻike hui e nā mea hoʻomohala e hōʻike ana iā HashiCorp a me RedHat. ʻO ka ʻokoʻa o ka manaʻo ʻo Terraform kahi mea hoʻolako no ka mālama ʻana i nā kikowaena ponoʻī. ʻOiai ʻo Ansible kahi mea hana hoʻokele hoʻonohonoho nona ka hana e hoʻokomo, hoʻonohonoho a hoʻokele i nā polokalamu ma kēia mau kikowaena.

ʻO kekahi hiʻohiʻona ʻē aʻe o kēia mau mea hana ʻo ke ʻano coding. ʻAʻole e like me ka bash a me Ansible, hoʻohana ʻo Terraform i kahi ʻano declarative e pili ana i ka wehewehe ʻana i ke kūlana hope i makemake ʻia e hoʻokō ʻia ma muli o ka hoʻokō. No ka laʻana, inā mākou e hana i 10 VM a hoʻohana i nā loli ma o Terraform, a laila e loaʻa iā mākou he 10 VM. Inā mākou e holo hou i ka palapala, ʻaʻohe mea e hiki mai no ka mea ua loaʻa iā mākou he 10 VM, a ʻike ʻo Terraform e pili ana i kēia no ka mea mālama ia i ke kūlana o kēia manawa o ka ʻōnaehana i kahi faila mokuʻāina. Akā hoʻohana ʻo Ansible i kahi ala kaʻina hana a, inā ʻoe e noi iā ia e hana i 10 VM, a laila ma ka hoʻomaka mua e loaʻa iā mākou he 10 VM, e like me Terraform. Akā ma hope o ka hoʻomaka hou ʻana e loaʻa iā mākou he 20 VM. ʻO kēia ka ʻokoʻa nui. Ma ke ʻano kaʻina hana, ʻaʻole mākou e mālama i ke kūlana o kēia manawa a wehewehe wale i kahi kaʻina o nā ʻanuʻu e pono e hana. ʻOiaʻiʻo, hiki iā mākou ke mālama i nā kūlana like ʻole, hoʻohui i nā loiloi no ke ola ʻana o nā kumuwaiwai a me ke kūlana o kēia manawa, akā ʻaʻohe kumu o ka hoʻopau ʻana i ko mākou manawa a hoʻoikaika i ka hoʻokele ʻana i kēia loiloi. Eia kekahi, hoʻonui kēia i ka pilikia o ka hana hewa. 

ʻO ka hōʻuluʻulu ʻana i nā mea a pau i luna, hiki iā mākou ke hoʻoholo ʻo Terraform a me ka declarative notation kahi mea pono kūpono no ka hoʻolako ʻana i nā kikowaena. Akā ʻoi aku ka maikaʻi o ka hāʻawi ʻana i ka hana o ka hoʻokele hoʻonohonoho iā Ansible. Ma waho o ke ala, e nānā kākou i nā hihia hoʻohana i ka pōʻaiapili o ka automation.

ʻO ka waiwai no ka ʻōnaehana automation

ʻO ka mea nui wale nō e hoʻomaopopo ʻia ma aneʻi ʻo ia ka manaʻo o ka ʻōnaehana automation hoʻāʻo ma ke ʻano he ʻāpana o ka ʻoihana holoʻokoʻa. 'O ia ho'i, pono e ho'ohana 'ia nā hana IaC a pau ma ka honua holo'oko'a i nā kumuwaiwai o ka hui holo'oko'a. ʻO wai ke kuleana o kēia ma muli o kāu mau hana. ʻOi aku ka ʻike o ka hui DevOps i kēia mau pilikia, ʻike lākou i ke kiʻi holoʻokoʻa o ka mea e hana nei. Eia nō naʻe, ʻoi aku ka nui o nā mea ʻenehana QA i ke kaʻina hana o ke kūkulu ʻana i ka automation a me ke ʻano o ka pipeline, e ʻae iā lākou e ʻike maikaʻi i nā loli a me nā manawa kūpono e hoʻomaikaʻi ai. ʻO ka koho maikaʻi loa ʻo ka hana pū ʻana, hoʻololi i ka ʻike a me nā manaʻo e hoʻokō i ka hopena i manaʻo ʻia. 

Eia kekahi mau hiʻohiʻona o ka hoʻohana ʻana iā Terraform a me Ansible i ka pōʻaiapili o ka automation hoʻāʻo a me nā mea hana a mākou i kūkākūkā ai ma mua:

1. E wehewehe i nā ʻano pono a me nā ʻāpana o nā VM a me nā pūʻulu e hoʻohana ana iā Terraform.

2. Ke hoʻohana nei iā Ansible, e hoʻouka i nā mea hana pono no ka hoʻāʻo ʻana: docker, Selenoid, Selenium Grid a hoʻoiho i nā mana i makemake ʻia o nā polokalamu kele pūnaewele / emulators.

3. Me ka hoʻohana ʻana iā Terraform, e wehewehe i nā ʻano o ka VM kahi e hoʻomaka ai ʻo GitLab Runner.

4. E hoʻouka iā GitLab Runner a me nā mea hana pono e hoʻohana ana iā Ansible, hoʻonohonoho i nā hoʻonohonoho a me nā hoʻonohonoho.

Hōʻike o ke kūlana o kēia manawa

ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

Nā loulou e makaʻala:

Nā mea hana like

E hōʻuluʻulu kākou!

'anuʻu
Technology
Mea hana
ʻO ka waiwai no ka ʻōnaehana automation

1
Holo kūloko
Node.js, Selenium, Appium

  • ʻO nā mea hana kaulana loa no ka pūnaewele a me ke kelepona
  • Kākoʻo i nā ʻōlelo he nui a me nā paepae (me Node.js)

2
Pūnaehana mana mana 
ʻO Git

  • Nā pōmaikaʻi like me ka code development

3
Ka hoʻokomo ʻana
Docker, Selenium grid, Selenoid (Web, Android)

  • Holo i nā hoʻokolohua like
  • Kaiapuni kaawale
  • Hoʻonui maʻalahi a maʻalahi
  • Hoʻopau ikaika i nā kumuwaiwai i hoʻohana ʻole ʻia
  • Maʻalahi e hoʻonohonoho

4
CI/CD
Gitlab CI

  • Hoʻāʻo i kahi ʻāpana o ka pipeline
  • Manaʻo wikiwiki
  • ʻIke ʻia no ka hui / hui holoʻokoʻa

5
Nā anuu ʻōpua
Google Kapua anuu

  • Nā kumuwaiwai ma ke koi (uku mākou inā pono wale nō)
  • Maʻalahi e hoʻokele a hoʻonui
  • ʻO ka ʻike a me ka mālama ʻana i nā kumuwaiwai āpau

6
Orchestration
Kubernetes
I loko o ka pōʻaiapili o nā ipu me nā mākaʻikaʻi/emulators i loko o nā pods:

  • Ka hoʻonui ʻana/ka hoʻonui ʻana
  • Hoola ponoi
  • Nā mea hou a me ka hoʻihoʻi ʻana me ka ʻole o ke keakea

7
ʻO ka ʻenehana ma ke ʻano he code (IaC)
Terraform, Ansible

  • Nā pōmaikaʻi like me nā ʻōnaehana hoʻomohala
  • ʻO nā pono āpau o ka hoʻololi code
  • Maʻalahi e hoʻololi a mālama
  • ʻOki loa

Nā kiʻi palapala noʻonoʻo: ka ulu ʻana o ka ʻoihana

ʻanuʻu 1: Kūloko
ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

ʻanuʻu 2: VCS
ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

'anuʻu 3: Ka hoʻopaʻa ʻana 
ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

ʻanuʻu 4: CI/CD 
ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

step5: Cloud Platforms
ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

'anuʻu 6: ʻO ka hoʻokani pila
ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

ʻanuʻu 7: IaC
ʻAʻole wale nā ​​mea hana DevOps no DevOps. ʻO ke kaʻina hana o ke kūkulu ʻana i kahi ʻōnaehana automation hoʻāʻo mai ka wā kahiko

He aha ka mea e hiki mai ana?

No laila, ʻo kēia ka hopena o ka ʻatikala. Akā i ka hopena, makemake wau e hoʻokumu i kekahi mau ʻaelike me ʻoe.

Mai kou ʻaoʻao mai
E like me kaʻu i ʻōlelo ai i ka hoʻomaka, makemake wau i ka ʻatikala e hoʻohana pono a kōkua iā ʻoe e hoʻohana i ka ʻike i loaʻa ma ka hana maoli. Hoʻohui hou wau loulou i ke alakaʻi hana.

Akā ma hope o kēlā, mai hoʻōki, hoʻomaʻamaʻa, e aʻo i nā loulou pili a me nā puke, e ʻike pehea e hana ai i kāu hui, e ʻimi i nā wahi hiki ke hoʻomaikaʻi ʻia a komo i loko. Pōmaikaʻi iā ʻoe

Mai koʻu ʻaoʻao

Mai ke poʻo inoa hiki iā ʻoe ke ʻike ʻo ka hapa mua wale nō kēia. ʻOiai ka mea i lilo i mea nui loa, ʻaʻole i uhi ʻia nā kumuhana koʻikoʻi ma aneʻi. Ma ka ʻāpana ʻelua, hoʻolālā wau e nānā i ka ʻōnaehana automation i ka pōʻaiapili o IOS. Ma muli o ke kaohi ʻana o Apple i ka holo ʻana i nā simulators iOS ma nā ʻōnaehana macOS wale nō, ua hōʻemi ʻia kā mākou mau hoʻonā. No ka laʻana, ʻaʻole hiki iā mākou ke hoʻohana iā Docker e holo i ka simulator a i ʻole nā ​​ao ākea e holo i nā mīkini virtual. Akā ʻaʻole kēia manaʻo ʻaʻohe mea ʻē aʻe. E hoʻāʻo wau e hoʻomau iā ʻoe me nā hoʻonā holomua a me nā mea hana hou!

Eia kekahi, ʻaʻole wau i ʻōlelo i nā kumuhana nui e pili ana i ka nānā ʻana. Ma ka Māhele 3, e nānā au i nā mea hana hoʻokele waiwai kaulana loa a me nā ʻikepili a me nā ana e noʻonoʻo ai.

A hope loa. I ka wā e hiki mai ana, hoʻolālā wau e hoʻokuʻu i kahi papa wikiō e pili ana i ke kūkulu ʻana i nā ʻōnaehana hoʻāʻo a me nā mea hana kaulana. I kēia manawa, nui nā papa a me nā haʻi'ōlelo ma DevOps ma ka Pūnaewele, akā hōʻike ʻia nā mea āpau i ke ʻano o ka hoʻomohala ʻana, ʻaʻole i ka hoʻāʻo ʻana i ka automation. Ma kēia pilikia, makemake nui au i nā manaʻo e pili ana i ka hoihoi a waiwai o ia papa no ke kaiāulu o nā mea hoʻāʻo a me nā ʻenekini automation. Mahalo ma mua!

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka