Managing Chaos: Hoʻonohonoho i nā mea me ke kōkua o kahi palapala ʻenehana

Managing Chaos: Hoʻonohonoho i nā mea me ke kōkua o kahi palapala ʻenehana

Kiʻi: Unsplash

Aloha kākou! ʻO mākou nā ʻenekini automation mai ka hui Nā ʻenehana maikaʻi a kākoʻo mākou i ka hoʻomohala ʻana i nā huahana o ka hui: kākoʻo mākou i ka pipeline hui holoʻokoʻa mai ka hana ʻana o kahi laina code e nā mea hoʻomohala a hiki i ka hoʻolaha ʻana i nā huahana i hoʻopau ʻia a me nā laikini ma nā kikowaena hōʻano hou. Ma ka ʻike ʻole, kapa ʻia mākou ʻo DevOps engineers. Ma kēiaʻatikala, makemake mākou e kamaʻilio e pili ana i nā pae ʻenehana o ke kaʻina hana polokalamu, pehea mākou e ʻike ai iā lākou a pehea mākou e hoʻokaʻawale ai iā lākou.

Mai ka mea e aʻo ai ʻoe e pili ana i ka paʻakikī o ka hoʻonohonoho ʻana i ka hoʻomohala ʻana i nā huahana he nui, he aha ka palapala ʻenehana a pehea e kōkua ai i ka hoʻonohonoho ʻana a me ka hoʻopili hou ʻana i nā hoʻonā, he aha nā pae nui a me nā ʻanuʻu o ke kaʻina hana hoʻomohala, pehea ka wehewehe ʻana o nā wahi kuleana. ma waena o DevOps a me nā hui i kā mākou hui.

E pili ana iā Chaos a me DevOps

ʻO ka pōkole, aia ka manaʻo o DevOps i nā mea hana hoʻomohala a me nā lawelawe, a me nā ʻano hana a me nā hana maikaʻi loa no kā lākou hoʻohana. E hoʻokaʻawale i ka honua ke kumu mai ka hoʻokō ʻana i nā manaʻo DevOps i kā mākou hui: he hōʻemi mau kēia i ke kumukūʻai o ka hana ʻana a me ka mālama ʻana i nā huahana ma nā huaʻōlelo quantitative (man-hours a me nā hola mīkini, CPU, RAM, Disk, etc.). ʻO ke ala maʻalahi a maopopo loa e hōʻemi i ke kumukūʻai holoʻokoʻa o ka hoʻomohala ma ka pae o ka hui holoʻokoʻa e hoemi ana i ka uku no ka hana ana i na hana serial ma'amau i nā pae hana a pau. Akā he aha kēia mau ʻanuʻu, pehea e hoʻokaʻawale ai iā lākou mai ke kaʻina hana maʻamau, he aha nā ʻanuʻu o lākou?

Ke hoʻomohala ka ʻoihana i hoʻokahi huahana, ʻoi aku ka liʻiliʻi o nā mea āpau: aia ka maʻamau o kahi palapala alanui maʻamau a me ka hoʻolālā hoʻomohala. Akā he aha ka mea e hana ai ke hoʻonui ka laina huahana a nui aʻe nā huahana? I ka nānā mua ʻana, loaʻa iā lākou nā kaʻina like a me nā laina hui, a hoʻomaka ka pāʻani "loaʻa X ʻokoʻa" i nā lāʻau a me nā palapala. He aha inā inā he 5+ mau papahana i ka hoʻomohala ʻana a me ke kākoʻo ʻana no kekahi mau mana i kūkulu ʻia i nā makahiki he nui? Makemake mākou e hoʻohana hou i ka helu kiʻekiʻe loa o nā hopena i nā pipeline huahana a i ʻole mākou mākaukau e hoʻolilo kālā i kahi hoʻomohala kūʻokoʻa no kēlā me kēia?

Pehea e ʻike ai i kahi kaulike ma waena o ka ʻokoʻa a me nā hoʻonā serial?

Ua hoʻomaka ʻia kēia mau nīnau i mua o mākou mai ka makahiki 2015. Ua ulu ka nui o nā huahana, a ua hoʻāʻo mākou e hoʻonui i kā mākou ʻoihana automation (DevOps), i kākoʻo i nā laina hui o kēia mau huahana, i ka liʻiliʻi. I ka manawa like, makemake mākou e hana hou i nā hoʻonā e like me ka hiki ma waena o nā huahana. Ma hope o nā mea a pau, no ke aha e hana like ai i nā huahana he ʻumi ma nā ʻano like ʻole?

Luna Hoʻomohala: "E nā kāne, hiki iā mākou ke loiloi i ka hana a DevOps no nā huahana?"

Mākou: "ʻAʻole mākou i ʻike, ʻaʻole mākou i nīnau i kēlā nīnau, akā he aha nā hōʻailona e noʻonoʻo ʻia?"

Luna Hoʻomohala: "ʻO wai ka mea ʻike! E noʻonoʻo…”

E like me kēlā kiʻiʻoniʻoni kaulana: "Aia wau i kahi hōkele! .." - "Uh ... Hiki iā ʻoe ke hōʻike mai iaʻu i ke ala?" Ma ka noʻonoʻoʻana, ua hiki mākou i ka hopena e pono mua mākou e hoʻoholo i nā kūlana hope loa o nā huahana; ua lilo kēia i kā mākou pahuhopu mua.

No laila, pehea ʻoe e nānā ai i nā huahana he ʻumi me nā hui nui loa mai 10 a 200 poʻe a hoʻoholo i nā metric ana i ka wā e hoʻopili ai i nā hopena?

1:0 i ke aloha o Chaos, a i ʻole DevOps ma nā ʻūhā poʻohiwi

Ua hoʻomaka mākou me ka hoʻāʻo e hoʻopili i nā kiʻi IDEF0 a me nā kiʻi kaʻina hana ʻoihana like ʻole mai ka moʻo BPwin. Ua hoʻomaka ka huikau ma hope o ka ʻelima ʻehā o ka pae aʻe o ka papahana aʻe, a hiki ke kaha ʻia kēia mau ʻāpana no kēlā me kēia pāhana ma ka huelo o kahi python lōʻihi ma lalo o 50+ mau ʻanuʻu. Kaumaha wau a makemake wau e ʻuwē i ka mahina - ʻaʻole kūpono i ka laulā.

Nā hana hana maʻamau

He hana paʻakikī a paʻakikī loa ka hoʻohālikelike ʻana i nā kaʻina hana: pono ʻoe e hōʻiliʻili, hana a hoʻopaʻa ʻia i nā ʻikepili he nui mai nā keʻena like ʻole a me nā kaulahao hana. Hiki iā ʻoe ke heluhelu hou aʻe e pili ana i kēia ma ka ʻatikala "Hoʻohālike i nā kaʻina hana i loko o kahi hui IT".

I ka wā i hoʻomaka ai mākou e hoʻohālike i kā mākou kaʻina hana, loaʻa iā mākou kahi pahuhopu kikoʻī - e haʻi aku i kēlā me kēia limahana i komo i ka hoʻomohala ʻana i nā huahana o kā mākou hui, a i nā luna papahana:

  • pehea nā huahana a me kā lākou mau ʻāpana, e hoʻomaka ana mai ka hana ʻana i kahi laina code, hiki i ka mea kūʻai aku ma ke ʻano o nā mea hoʻonohonoho a me nā mea hou,
  • he aha nā kumuwaiwai i hāʻawi ʻia no kēlā me kēia pae o ka hana ʻana o nā huahana,
  • he aha nā lawelawe e pili ana i kēlā me kēia pae,
  • pehea e hoʻokaʻawale ʻia ai nā wahi kuleana o kēlā me kēia pae,
  • he aha nā ʻaelike i loaʻa ma ka puka a me ka puka ʻana o kēlā me kēia pae.

Managing Chaos: Hoʻonohonoho i nā mea me ke kōkua o kahi palapala ʻenehana

Ke kaomi ʻana i ke kiʻi e wehe ia i ka nui piha.

Hoʻokaʻawale ʻia kā mākou hana ma ka ʻoihana i kekahi mau wahi hana. ʻO ke kuhikuhi o ka ʻoihana e pili ana i ka optimization o ka hana ʻana o nā kumuwaiwai "hao" āpau o ka ʻoihana, a me ka automation o ka waiho ʻana o nā mīkini virtual a me ke kaiapuni ma luna o lākou. Hāʻawi ke kuhikuhi o ka nānā ʻana i ka mana hana lawelawe 24/7; hāʻawi pū mākou i ka nānā ʻana ma ke ʻano he lawelawe no nā mea hoʻomohala. Hāʻawi ke kuhikuhi holoʻokoʻa i nā hui me nā mea hana e hoʻokele ai i nā kaʻina hana hoʻomohala a me ka hoʻāʻo ʻana, ka nānā ʻana i ke kūlana o ke code, a loaʻa nā ʻikepili ma nā papahana. A ʻo ka mea hope loa, hāʻawi ka ʻaoʻao webdev i ka hoʻolaha ʻana o nā hoʻokuʻu ma nā kikowaena GUS a me FLUS update, a me ka laikini ʻana o nā huahana me ka lawelawe ʻo LicenseLab. No ke kākoʻo ʻana i ka pipeline hana, hoʻonohonoho mākou a mālama i nā lawelawe kākoʻo like ʻole no nā mea hoʻomohala (hiki iā ʻoe ke hoʻolohe i nā moʻolelo e pili ana i kekahi o lākou ma nā hui kahiko: ʻO! DevOps! 2016 и ʻO! DevOps! 2017). Hoʻomohala pū mākou i nā mea hana automation kūloko, me hāmama nā hāʻina.

I loko o nā makahiki ʻelima i hala iho nei, ua hōʻiliʻili kā mākou hana i nā ʻano like a me nā hana maʻamau, a ʻo kā mākou mea hoʻomohala mai nā keʻena ʻē aʻe e hele mai i ka mea i kapa ʻia. nā hana maʻamau, ʻo ka hoʻonā piha a ʻāpana paha, ʻaʻole pilikia i nā mea hana a ʻaʻole koi i ka nui o ka hana. Me nā wahi alakaʻi, ua kālailai mākou i ia mau hana a ua hiki iā mākou ke ʻike i nā ʻano o ka hana, a i ʻole pae hana, ua māhele ʻia nā ʻanuʻu i nā ʻanuʻu hiki ʻole ke hoʻokaʻawale ʻia, a ua hui pū kekahi mau pae laina kaʻina hana hana.

Managing Chaos: Hoʻonohonoho i nā mea me ke kōkua o kahi palapala ʻenehana

ʻO ka hiʻohiʻona maʻalahi o kahi kaulahao ʻenehana ʻo ia nā pae o ka hui ʻana, hoʻolaha a hoʻāʻo ʻana i kēlā me kēia o kā mākou huahana i loko o ka hui. No ka laʻana, he nui nā ʻanuʻu ʻokoʻa ka pae kūkulu: hoʻoiho i nā kumu mai GitLab, hoʻomākaukau i nā hilinaʻi a me nā hale waihona puke 3rd-party, hoʻāʻo ʻāpana a me ka nānā ʻana i nā code static, e hoʻokō ana i kahi palapala kūkulu ma GitLab CI, hoʻopuka i nā mea kiʻi i loko o ka waihona. Artifactory a me ka hanauna o nā memo hoʻokuʻu ma o kā mākou mea hana ChangelogBuilder kūloko.

Hiki iā ʻoe ke heluhelu e pili ana i nā hana DevOps maʻamau i kā mākou ʻatikala ʻē aʻe ma Habré: "ʻIke pilikino: ke ʻano o kā mākou ʻōnaehana Hoʻohui Hoʻomau"A"ʻO ke kaʻina hana hoʻomohala: pehea mākou i hoʻokō ai i nā manaʻo DevOps ma Positive Technologies".

Nui nā kaulahao hana maʻamau hana hana. ʻO ke ala maʻamau i ka wehewehe ʻana i nā kaʻina hana, ʻo ia ka hoʻohana ʻana i nā hiʻohiʻona IDEF0 hana.

He laʻana o ka hoʻohālikelike ʻana i kahi kaʻina hana CI

Ua nānā nui mākou i ka hoʻomohala ʻana i nā papahana maʻamau no kahi ʻōnaehana hoʻohui mau. ʻO kēia ka mea i hiki ai ke hoʻokō i ka hui ʻana o nā papahana, e hōʻike ana i nā mea i kapa ʻia hoʻokuʻu kiʻi o nā kūkulu me nā hoʻolaha.

Managing Chaos: Hoʻonohonoho i nā mea me ke kōkua o kahi palapala ʻenehana

Penei ka hana ana. He ʻano maʻamau nā papahana a pau: hoʻokomo lākou i ka hoʻonohonoho ʻana o nā hui i hāʻule i loko o ka waihona snapshot ma Artifactory, a ma hope o lākou e kau ʻia a hoʻāʻo ʻia ma nā papa hoʻāʻo, a laila hāpai ʻia i ka waihona hoʻokuʻu. ʻO ka lawelawe Artifactory kahi wahi hoʻolaha hoʻokahi no nā mea hana a pau ma waena o nā hui a me nā lawelawe ʻē aʻe.

Inā mākou e maʻalahi a hoʻonui i kā mākou papahana hoʻokuʻu, a laila e komo i kēia mau ʻanuʻu:

  • hui huahana cross-platform,
  • ka waiho ʻana i nā papa hoʻāʻo,
  • e holo ana i nā hana hana a me nā hoʻokolohua ʻē aʻe,
  • ka paipai ʻana i nā hale hoʻāʻo e hoʻokuʻu i nā waihona ma Artifactory,
  • kūkulu ʻia ka hoʻolaha ʻana o ka hoʻokuʻu ʻana ma nā kikowaena hōʻano hou,
  • ka lawe ʻana i nā hui a me nā mea hou i ka hana ʻana,
  • e hoʻomaka ana i ka hoʻokomo a me ka hoʻonui ʻana i ka huahana.

No ka laʻana, e noʻonoʻo i ke ʻano hoʻohālike ʻenehana o kēia ʻano hoʻokuʻu maʻamau (ma hope o ka Model) ma ke ʻano o kahi hiʻohiʻona IDEF0 hana. Hōʻike ia i nā pae nui o kā mākou kaʻina CI. Hoʻohana nā hiʻohiʻona IDEF0 i ka mea i kapa ʻia ICOM notation (Input-Control-Output-Mechanism) e wehewehe i nā kumuwaiwai i hoʻohana ʻia i kēlā me kēia pae, e pili ana i nā lula a me nā koi i hana ʻia, he aha ka hopena, a me nā mīkini, nā lawelawe a i ʻole nā ​​​​kānaka e hoʻokō i kahi pae.

Managing Chaos: Hoʻonohonoho i nā mea me ke kōkua o kahi palapala ʻenehana

Ke kaomi ʻana i ke kiʻi e wehe ia i ka nui piha.

Ma ke ʻano he lula, ʻoi aku ka maʻalahi o ka decompose a kikoʻī i ka wehewehe ʻana o nā kaʻina hana i nā hiʻohiʻona hana. Akā i ka ulu ʻana o ka nui o nā mea, lilo ia i mea paʻakikī e hoʻomaopopo i kekahi mea i loko o lākou. Akā i ka hoʻomohala maoli ʻana, aia kekahi mau pae kōkua: ka nānā ʻana, hōʻoia huahana, automation workflow, a me nā mea ʻē aʻe. Ma muli o ka pilikia scaling ua haʻalele mākou i kēia wehewehe.

Ka hānau ʻana o ka manaʻolana

Ma hoʻokahi puke, ua ʻike mākou i nā palapala ʻāina Soviet kahiko e wehewehe ana i nā kaʻina hana ʻenehana (ʻo ia hoʻi, ke hoʻohana mau ʻia nei i kēia lā ma nā ʻoihana aupuni a me nā kulanui). E kali, e kali, no ka mea, loaʻa iā mākou kahi kaʻina hana!.. Aia nā pae, nā hopena, nā ana, nā koi, nā hōʻailona, ​​a pēlā aku a pēlā aku… Aia kekahi manaʻo: "ʻO kēia! Ua loaʻa iā mākou ke kaula kūpono, ʻo ia ka manawa e huki maikaʻi ai!

Ma kahi papa maʻalahi, ua hoʻoholo mākou e hoʻopaʻa i nā huahana ma nā kolamu, a me nā pae ʻenehana a me nā pae pipeline huahana ma nā lālani. He mea nui nā Milestones, e like me ka pae kūkulu huahana. A ʻo nā ʻanuʻu kahi mea liʻiliʻi a ʻoi aku ka kikoʻī, e like me ke kaʻina o ka hoʻoiho ʻana i ke code kumu i ke kikowaena kūkulu a i ʻole ka pae o ka hōʻuluʻulu ʻana i ke code.

Ma nā ʻāpana o nā lālani a me nā kolamu o ka palapala ʻāina, waiho mākou i nā kūlana no kahi pae kikoʻī a me ka huahana. No nā kūlana, ua wehewehe ʻia kahi pūʻulu o nā mokuʻāina:

  1. ʻAʻohe ʻikepili - a i ʻole kūpono ʻole. Pono e kālailai i ke koi no kahi pae o ka huahana. A i ʻole ua hoʻokō ʻia ka loiloi, akā ʻaʻole pono ke kahua i kēia manawa a ʻaʻole ʻae ʻia ka ʻoihana.
  2. Hoʻopanee ʻia - a i ʻole pili ʻole i kēia manawa. Pono kahi pae i ka pipeline, akā ʻaʻohe ikaika no ka hoʻokō ʻana i kēia makahiki.
  3. Hoʻolālā ʻia. Hoʻolālā ʻia ke kahua no ka hoʻokō ʻana i kēia makahiki.
  4. Hoʻokō ʻia. Hoʻokō ʻia ka pae i ka pipeline i ka nui e pono ai.

Ua hoʻomaka ka hoʻopiha ʻana i ka papaʻaina i kēlā me kēia papahana. ʻO ka mua, ua hoʻokaʻawale ʻia nā pae a me nā ʻanuʻu o kahi papahana a ua hoʻopaʻa ʻia ko lākou mau kūlana. A laila lawe lākou i ka papahana aʻe, hoʻopaʻa i nā statuses i loko a hoʻohui i nā pae a me nā ʻanuʻu i nalowale i nā papahana mua. ʻO ka hopena, ua loaʻa iā mākou nā pae a me nā ʻanuʻu o kā mākou pipeline hana holoʻokoʻa a me kā lākou mau kūlana i kahi papahana kikoʻī. Ua ʻike ʻia kahi mea like me ka matrix competency pipeline huahana. Ua kapa mākou i kēlā ʻano matrix he palapala ʻenehana.

Me ke kōkua o ka palapala ʻenehana, hoʻonohonoho pono mākou me nā hui i nā hoʻolālā hana no ka makahiki a me nā pahuhopu a mākou e makemake ai e hoʻokō pū: ʻo ia nā pae a mākou e hoʻohui ai i ka papahana i kēia makahiki, a ʻo nā mea a mākou e haʻalele ai ma hope. Eia kekahi, i ka wā o ka hana, hiki iā mākou ke hoʻomaikaʻi i nā pae i hoʻopau ʻia no hoʻokahi huahana. A laila hoʻonui mākou i kā mākou palapala ʻāina a hoʻolauna i kēia hoʻomaikaʻi ʻana ma ke ʻano he pae a i ʻole kahi ʻanuʻu hou, a laila kā mākou loiloi no kēlā me kēia huahana a ʻike i ka hiki ke hana hou i ka holomua.

E kūʻē paha lākou iā mākou: "ʻO kēia wale nō, ʻoiaʻiʻo, maikaʻi, aia wale nō me ka manawa e piʻi nui ka helu o nā ʻanuʻu a me nā pae. Pehea e lilo ai?

Ua hoʻolauna mākou i nā wehewehe maʻamau a me ka pololei o nā koi no kēlā me kēia pae a me ka pae, i hoʻomaopopo ʻia lākou e nā mea āpau i loko o ka hui ma ke ʻano like. I ka wā lōʻihi, i ka hoʻomaka ʻana o ka hoʻomaikaʻi ʻana, hiki ke komo i kahi ʻanuʻu i kahi pae ʻē aʻe a i ʻole ka pae, a laila e "hāʻule". I ka manawa like, kūpono nā koi āpau a me nā nuances ʻenehana i nā koi o ka pae generalizing a i ʻole ka pae.

Pehea e loiloi ai i ka hopena o ka hoʻoponopono hou ʻana? Hoʻohana mākou i kahi ala maʻalahi loa: hoʻohālikelike mākou i nā kumukūʻai kumu mua no ka hoʻokō ʻana i kahi pae hou i nā kumukūʻai huahana maʻamau makahiki, a laila puʻunaue i nā mea āpau i ka wā e hana hou ai.

Ua hōʻike mua ʻia nā ʻāpana o ka hoʻomohala ʻana ma ke ʻano he milestone a me nā pae ma ka palapala ʻāina. Hiki iā mākou ke hoʻololi i ka hōʻemi o ke kumukūʻai o ka huahana ma o ka hoʻokomo ʻana i ka automation no nā pae maʻamau. Ma hope o kēlā, noʻonoʻo mākou i nā loli i nā ʻano qualitative, quantitative metric a me ka loaʻa kālā i loaʻa e nā hui (i nā hola kanaka a i ʻole nā ​​hola mīkini o ka mālama kālā).

Palapala 'enehana o ke kaʻina hana

Inā mākou e lawe i kā mākou mau pae a me nā ʻanuʻu, hoʻopili iā lākou me nā hōʻailona a hoʻonui iā lākou i hoʻokahi kaulahao, a laila e lilo ia i lōʻihi loa a hiki ʻole ke hoʻomaopopo ʻia (ʻo ia ka "huʻu python" a mākou i kamaʻilio ai ma ka hoʻomaka ʻana o ka ʻatikala) :

[Production] — [InfMonitoring] — [SourceCodeControl] — [Prepare] — [PrepareLinuxDocker] — [PrepareWinDocker] — [Build] — [PullSourceCode] — [PrepareDep] — [UnitTest] — [CodeCoverage] — [StaticAnalyze] — [BuildScenario] — [PushToSnapshot] — [ChangelogBuilder] — [Deploy] — [PrepareTestStand] — [PullTestCode] — [PrepareTestEnv] — [PullArtifact] — [DeployArtifact] — [Test] — [BVTTest] — [SmokeTest] — [FuncTest] — [LoadTest] — [IntegrityTest] — [DeliveryTest] — [MonitoringStands] — [TestManagement] — [Promote] — [QualityTag] — [MoveToRelease] — [License] — [Publish] — [PublishGUSFLUS] — [ControlVisibility] — [Install] — [LicenseActivation] — [RequestUpdates] — [PullUpdates] — [InitUpdates] — [PrepareEnv] — [InstallUpdates] — [Telemetry] — [Workflow] — [Communication] — [Certification] — [CISelfSufficiency]

ʻO kēia nā pae o ke kūkulu ʻana i nā huahana [Kūkulu], hoʻonoho iā lākou e hoʻāʻo i nā kikowaena [Deploy], hoʻāʻo [Test], hoʻolaha i ke kūkulu ʻana e hoʻokuʻu i nā waihona e pili ana i nā hopena o ka hoʻāʻo [Promote], hana a hoʻopuka i nā laikini [Licence], hoʻopuka [ Hoʻopuka] ma ka GUS update server a me ka hāʻawi ʻana i nā kikowaena FLUS update, ka hoʻokomo ʻana a me ka hoʻonui ʻana i nā ʻāpana huahana ma ka ʻenehana o ka mea kūʻai aku me ka hoʻohana ʻana i ka Product Configuration Management [Install], a me ka hōʻiliʻili ʻana o ka telemetry [Telemetry] mai nā huahana i kau ʻia.

Ma waho aʻe o lākou, hiki ke hoʻokaʻawale ʻia nā ʻāpana ʻokoʻa: ka nānā ʻana i ka mokuʻāina ʻoihana [InfMonitoring], ka mana o ka mana code source [SourceCodeControl], kūkulu i ka hoʻomākaukau ʻana i ke kaiapuni [Hoʻomākaukau], hoʻokele papahana [Workflow], hoʻolako i nā hui me nā mea kamaʻilio [Communication], hōʻoia huahana. [Certification] a me ka hōʻoia ʻana i ka pono ponoʻī o nā kaʻina CI [CISelfSufficiency] (no ka laʻana, ke kūʻokoʻa o nā ʻaha mai ka Pūnaewele). ʻAʻole e noʻonoʻo ʻia ka nui o nā ʻanuʻu i kā mākou kaʻina hana, no ka mea he kikoʻī loa lākou.

Eʻoi aku ka maʻalahi o ka hoʻomaopopo a nānā i ke kaʻina hana holoʻokoʻa inā hōʻikeʻia ma keʻano palapala ʻenehana; He papaʻaina kēia kahi e hoʻopaʻa ʻia ai nā pae hana hoʻokahi a me nā ʻanuʻu decomposed o ka Model ma nā lālani, a ma nā kolamu ka wehewehe ʻana i nā mea i hana ʻia ma kēlā me kēia pae a i ʻole ka pae. ʻO ka manaʻo nui i nā kumuwaiwai e hoʻolako i kēlā me kēia pae a me ka hoʻokaʻawale ʻana i nā wahi kuleana.

ʻO ka palapala ʻāina no mākou he ʻano papa. Hōʻike ia i nā ʻāpana ʻenehana nui o ka hana ʻana i nā huahana. Mahalo iā ia, ua maʻalahi ka hui ʻana o kā mākou hui automation me nā mea hoʻomohala a hoʻolālā pū i ka hoʻokō ʻana i nā pae automation, a me ka hoʻomaopopo ʻana i nā kumukūʻai hana a me nā kumuwaiwai (kanaka a me nā lako) e koi ʻia no kēia.

I loko o kā mākou hui, hana ʻia ka palapala ʻāina mai ka template jinja ma ke ʻano he faila HTML maʻamau, a laila hoʻouka ʻia i ka server GitLab Pages. Hiki ke ʻike ʻia kahi kiʻi paʻi me kahi laʻana o kahi palapala ʻāina i hana piha ʻia loulou.

Managing Chaos: Hoʻonohonoho i nā mea me ke kōkua o kahi palapala ʻenehana

Ke kaomi ʻana i ke kiʻi e wehe ia i ka nui piha.

I ka pōkole, ʻo ka palapala ʻenehana he kiʻi maʻamau o ke kaʻina hana, e hōʻike ana i nā poloka i hoʻokaʻawale ʻia me nā hana maʻamau.

ʻO ke ʻano o kā mākou palapala alanui

Aia ka palapala ʻāina i kekahi mau ʻāpana:

  1. Wahi poʻomanaʻo - eia kahi wehewehe maʻamau o ka palapala ʻāina, hoʻokomo ʻia nā manaʻo kumu, wehewehe ʻia nā kumu waiwai a me nā hopena o ke kaʻina hana.
  2. Dashboard - ma aneʻi hiki iā ʻoe ke hoʻomalu i ka hōʻike ʻana o ka ʻikepili no kēlā me kēia huahana, hāʻawi ʻia kahi hōʻuluʻulu o nā pae i hoʻokō ʻia a me nā pae maʻamau no nā huahana āpau.
  3. Palapala ʻenehana - he wehewehe papa o ka ʻenehana ʻenehana. Ma ka palapala 'āina:
    • hāʻawi ʻia nā pae āpau, nā ʻanuʻu a me kā lākou mau code;
    • hāʻawi ʻia nā wehewehe pōkole a piha o nā pae;
    • hōʻike ʻia nā kumuwaiwai a me nā lawelawe i hoʻohana ʻia i kēlā me kēia pae;
    • hōʻike ʻia nā hopena o kēlā me kēia pae a me kahi ʻanuʻu ʻokoʻa;
    • hōʻike ʻia ka wahi o ke kuleana no kēlā me kēia pae a me ka pae;
    • ʻO nā kumuwaiwai ʻenehana, e like me HDD (SSD), RAM, vCPU, a me nā hola kanaka e pono ai ke kākoʻo i ka hana ma kēia pae, ʻelua i kēia manawa - he ʻoiaʻiʻo, a i ka wā e hiki mai ana - kahi hoʻolālā, ua hoʻoholo ʻia;
    • no kēlā me kēia huahana, hōʻike ʻia i nā pae ʻenehana a i ʻole nā ​​​​ʻanuʻu i hoʻokō ʻia, i hoʻolālā ʻia no ka hoʻokō ʻana, pili ʻole a ʻaʻole hoʻokō.

Ke hoʻoholo nei ma muli o ka palapala ʻenehana

Ma hope o ka nānā ʻana i ka palapala ʻāina, hiki ke hana i kekahi mau hana - ma muli o ke kuleana o ka limahana i loko o ka ʻoihana (manakia hoʻomohala, luna huahana, mea hoʻomohala a hoʻāʻo paha):

  • e hoʻomaopopo i nā ʻanuʻu e nalowale ana i kahi huahana maoli a i ʻole papahana, a nānā i ka pono o ka hoʻokō ʻana;
  • e hoʻokaʻawale i nā wahi kuleana ma waena o kekahi mau keʻena inā hana lākou ma nā pae like ʻole;
  • ʻae i nā ʻaelike ma nā puka komo a me nā puka o nā pae;
  • hoʻohui i kāu pae o ka hana i loko o ke kaʻina hana hoʻomohala holoʻokoʻa;
  • ʻoi aku ka pololei o ka loiloi i ka pono o nā kumuwaiwai e hoʻolako i kēlā me kēia pae.

E hōʻuluʻulu ana i nā mea a pau i luna

He maʻalahi ke alahele, hiki ke hoʻonui a maʻalahi hoʻi e mālama. ʻOi aku ka maʻalahi o ka hoʻomohala ʻana a mālama i ka wehewehe ʻana i nā kaʻina hana ma kēia ʻano ma mua o kahi kumu hoʻohālike IDEF0 koʻikoʻi. Eia kekahi, ʻoi aku ka maʻalahi o ka wehewehe ʻana i ka papa inoa, ʻoi aku ka maʻalahi, a ʻoi aku ka maikaʻi o ka hoʻolālā ʻana ma mua o kahi hiʻohiʻona hana.

No ka hoʻokō ʻenehana o nā ʻanuʻu, loaʻa iā mākou kahi mea hana kūloko kūikawā CrossBuilder - kahi mea hana papa ma waena o nā ʻōnaehana CI, nā lawelawe a me nā ʻoihana. ʻAʻole pono ka mea hoʻomohala e ʻoki i kāna kaʻa: i loko o kā mākou ʻōnaehana CI, ua lawa ka holo ʻana i kekahi o nā palapala (ka mea i kapa ʻia ʻo ka hana) o ka mea hana CrossBuilder, nāna e hoʻokō pono, e noʻonoʻo ana i nā hiʻohiʻona o kā mākou ʻoihana. .

Nā hopena

Ua lōʻihi ka lōʻihi o ka ʻatikala, akā hiki ʻole kēia i ka wehewehe ʻana i ke ʻano hoʻohālike o nā kaʻina hana paʻakikī. I ka hopena, makemake wau e hoʻoponopono pōkole i kā mākou mau manaʻo nui:

  • ʻO ka pahuhopu o ka hoʻokō ʻana i nā manaʻo DevOps i kā mākou hui ʻo ia ka hoʻohaʻahaʻa mau ʻana i ke kumukūʻai o ka hana ʻana a me ka mālama ʻana i nā huahana o ka hui ma nā huaʻōlelo nui (nā hola kanaka a i ʻole nā ​​hola mīkini, vCPU, RAM, Disk).
  • ʻO ke ala e hōʻemi ai i ke kumukūʻai holoʻokoʻa o ka hoʻomohala ʻana, ʻo ia ka hōʻemi ʻana i ke kumukūʻai o ka hana ʻana i nā hana serial maʻamau: nā pae a me nā pae o ke kaʻina hana ʻenehana.
  • ʻO kahi hana maʻamau he hana nona ka hoʻonā piha a ʻāpana paha, ʻaʻole pilikia i nā mea hana a ʻaʻole koi i nā koina hana nui.
  • Aia ke kaʻina hana i nā pae, ua māhele ʻia nā pae i nā ʻanuʻu indivisible, ʻo ia nā hana maʻamau o nā ʻano like ʻole a me ka laulā.
  • Mai nā hana maʻamau like ʻole, ua hiki mai mākou i nā kaulahao ʻenehana paʻakikī a me nā hiʻohiʻona multi-level o ke kaʻina hana, hiki ke wehewehe ʻia e kahi hiʻohiʻona IDEF0 hana a i ʻole kahi palapala ʻenehana maʻalahi.
  • ʻO ka palapala ʻenehana kahi hōʻike papa o nā pae a me nā pae o ka hana hana. ʻO ka mea nui loa: hiki i ka palapala ʻāina ke ʻike i ke kaʻina holoʻokoʻa i kona holoʻokoʻa, i nā ʻāpana nui me ka hiki ke wehewehe iā lākou.
  • Ma muli o ka palapala ʻenehana, hiki ke loiloi i ka pono e hoʻokomo i nā pae i loko o kahi huahana, e wehewehe i nā wahi o ke kuleana, e ʻae i nā ʻaelike ma nā hoʻokomo a me nā puka o nā pae, a ʻoi aku ka pololei o ka loiloi i ka pono o nā kumuwaiwai.

Ma nā ʻatikala aʻe, e wehewehe kikoʻī mākou i nā mea hana loea i hoʻohana ʻia no ka hoʻokō ʻana i kekahi mau pae ʻenehana ma kā mākou palapala ʻāina.

Nā mea kākau ʻatikala:

Source: www.habr.com

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