Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Rahoton zai yi magana game da wasu ayyuka na DevOps, amma daga ra'ayin mai haɓakawa. Yawanci, duk injiniyoyin da suka shiga DevOps sun riga sun sami shekaru da yawa na ƙwarewar gudanarwa a ƙarƙashin bel ɗin su. Amma wannan baya nufin cewa babu wuri ga mai haɓakawa a nan. Sau da yawa fiye da haka, masu haɓakawa suna shagaltuwa da gyara "bugu mai mahimmanci na gaba na ranar," kuma ba su da lokacin da za su yi saurin duba filin DevOps. A cikin fahimtar marubucin, DevOps shine, na farko, hankali ne. Na biyu, dama ce ta zama mafi inganci. Idan kai mai haɓakawa ne, yana da hankali kuma yana son zama mafi inganci a matsayin ɗan wasan ƙungiyar, wannan rahoton naku ne.

Bari in gabatar da kaina, na yarda da cewa akwai mutane a cikin dakin da ba su san ni ba. Sunana Anton Boyko, Ni Microsoft Azure MVP ne. Menene MVP? Wannan shine Mai gabatarwa-Duba-Mai Gabatarwa. Model-Duba-Mai Gabatarwa shine daidai ni.

Bugu da kari, a halin yanzu ina rike da matsayin injiniyan mafita a Ciklum. Kuma kwanan nan na sayi kaina irin wannan yanki mai kyau, kuma na sabunta imel na, wanda yawanci nake nunawa a gabatarwa. Kuna iya rubuta mani a: ni [kare] byokoant.pro. Kuna iya aiko min da tambayoyi. Nakan amsa musu. Abinda kawai shine ba zan so a sami tambayoyi ta imel da suka shafi batutuwa biyu: siyasa da addini. Kuna iya rubuta mani game da komai ta hanyar imel. Wani lokaci zai wuce, zan amsa.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Kalmomi kaɗan game da kaina:

  • Shekara 10 kenan a wannan fanni yanzu.
  • Na yi aiki a Microsoft.
  • Ni ne mahaifin al'ummar Azure na Ukrainian, wanda muka kafa wani wuri a cikin 2014. Kuma har yanzu muna da shi kuma muna bunkasa shi.
  • Ni ne kuma uban wanda ya assasa taron Azure da muke gudanarwa a kasar Ukraine.
  • Na kuma taimaka wajen tsara Global Azure Bootcamp a Kyiv.
  • Kamar yadda na ce, Ni Microsoft Azure MVP ne.
  • Ina magana a taro akai-akai. Ina matukar son magana a taro. A cikin shekarar da ta gabata na iya yin kusan sau 40. Idan kun wuce ta Ukraine, Belarus, Poland, Bulgaria, Sweden, Denmark, Netherlands, Spain ko ba ko ɗaukar wata ƙasa a Turai, to yana yiwuwa idan kun je taron da ke da taken girgije a cikin rafi. Kuna iya ganina a cikin jerin masu magana.
  • Ni ma mai son Star Trek ne.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Bari mu ɗan yi magana game da Ajanda. Ajandar mu mai sauqi ce:

  • Za mu yi magana game da menene DevOps. Bari mu tattauna dalilin da ya sa wannan yake da muhimmanci. A baya can, DevOps keyword ce da kuka rubuta akan ci gaba kuma nan da nan ta karɓi + $500 a cikin albashi. Yanzu kuna buƙatar rubuta, alal misali, blockchain a cikin ci gaban ku don samun +500 dala ga albashin ku.
  • Kuma a sa'an nan, lokacin da muka fahimci kadan game da menene wannan, za mu yi magana game da menene ayyukan DevOps. Amma ba sosai a cikin mahallin DevOps gabaɗaya ba, amma game da waɗannan ayyukan DevOps waɗanda za su iya zama da amfani ga masu haɓakawa. Zan gaya muku dalilin da ya sa za su kasance da sha'awar ku. Zan gaya muku dalilin da ya sa ya kamata ku yi wannan kwata-kwata da kuma yadda zai iya taimaka muku samun ƙarancin ciwo.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Hoton gargajiya wanda mutane da yawa ke nunawa. Wannan shi ne abin da ke faruwa a cikin ayyuka da yawa. Wannan shine lokacin da muke da sassan ci gaba da ayyuka waɗanda ke tallafawa software ɗin mu. Kuma waɗannan sassan ba sa sadarwa da juna.

Wataƙila, idan ba za ku iya jin shi sosai a cikin DevOps da sassan ayyuka ba, kuna iya zana kwatance tare da sassan Dev da QA. Akwai mutanen da ke haɓaka software kuma akwai mutanen QA waɗanda ba su da kyau daga ra'ayin masu haɓakawa. Misali, na sanya code dina mai ban mamaki ga ma'ajiyar, sai ga wani dan iska a zaune ya dawo min da wannan lambar ya ce lambar ku ba ta da kyau.

Wannan duk yana faruwa ne saboda mutane ba sa sadarwa da juna. Kuma suna jefa wasu fakiti, wasu aikace-aikace ga juna ta hanyar bangon rashin fahimta kuma suna ƙoƙarin yin wani abu da su.

Daidai wannan bango ne aka tsara al'adun DevOps don lalata, watau. tilasta wa mutane su yi magana da juna kuma a kalla su fahimci abin da mutane daban-daban a cikin aikin suke yi da kuma dalilin da yasa aikinsu yake da muhimmanci.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Kuma lokacin da muka yi magana game da DevOps, wani zai gaya muku cewa DevOps shine lokacin da aikin yana ci gaba da haɗin kai; wani zai ce DevOps shine idan aikin ya aiwatar da aikin "kayan aikin a matsayin lambar"; wani zai ce mataki na farko zuwa DevOps shine fasalin reshe, fasali.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Ainihin, wannan duk gaskiya ne ta hanyarsa. Amma waɗannan su ne kawai ayyuka na ƙarshe da muke da su. Kafin ci gaba zuwa waɗannan ayyukan, Ina ba da shawarar duba wannan zane-zane, wanda ke nuna matakan 3 na aiwatar da tsarin Dev-Ops a cikin aikin ku, a cikin kamfanin ku.

Wannan faifan kuma yana da suna na biyu mara izini. Kuna iya bincika kan layi don gano menene 3 Musketeers na DevOps. Yana yiwuwa za ku sami wannan labarin. Me yasa Musketeers 3? A ƙasa yana cewa: mutane, matakai da samfurori, i.e. PPP - Porthos, Porthos da Porthos. Anan akwai Musketeers 3 na DevOps. Wannan labarin ya bayyana dalla-dalla dalilin da yasa wannan yake da mahimmanci da abin da ya kunsa.

Lokacin da kuka fara aiwatar da al'adun DevOps, yana da matukar mahimmanci cewa an aiwatar da shi a cikin tsari mai zuwa.

Da farko kuna buƙatar yin magana da mutane. Kuma kana bukatar ka bayyana wa mutane abin da yake da kuma yadda za su iya samun wasu fa'idodi daga gare ta.

Ana kiran taron mu DotNet Fest. Kuma kamar yadda masu shirya taron suka gaya mani, mun fi gayyato ’yan kallo na masu ci gaba a nan, don haka ina fata galibin jama’ar da ke zauren taron sun shiga harkar ci gaba.

Za mu yi magana game da mutane, za mu yi magana game da abin da masu haɓaka ke son yi kowace rana. Menene suka fi so? Suna son rubuta sabon lamba, amfani da sabbin fasahohi, ƙirƙirar sabbin abubuwa. Menene masu haɓakawa suke so kaɗan? Gyara tsofaffin kwari. Ina fatan kun yarda da ni. Wannan shine abin da masu haɓakawa ke so. Suna son rubuta sabbin abubuwa, ba sa son gyara kwari.

Yawan kwaro da wani mahalli ke samarwa ya dogara da yadda hannayensa suka mike da kuma yadda suke girma daga kafadunsa, ba daga aljihunsa ba. Amma duk da haka, lokacin da muke da babban aikin, wani lokacin yakan faru cewa ba zai yiwu a kula da komai ba, don haka zai yi kyau a gare mu mu yi amfani da wasu hanyoyin da za su taimaka mana mu rubuta mafi kwanciyar hankali da kuma mafi ingancin lambar.

Menene QAs suka fi so? Ban sani ba ko suna cikin falon. Yana da wuya a gare ni in ce ina son QA, saboda ban taɓa zama ɗaya ba. Kuma babu laifi ga samarin, za a ce ina fata ba zan taba ba. Amma ba wai don ina ganin aikinsu ba shi da ma'ana da rashin amfani, sai dai don ban dauki kaina a matsayin mutumin da zai iya yin wannan aikin yadda ya kamata ba, don haka ba zan yi kokarin yinsa ba. Amma daga abin da na fahimta, abin da QA ba ya son mafi yawan zai yi aiki da safe, yana ci gaba da gudanar da wasu nau'ikan gwaje-gwajen koma baya, suna taka kwas ɗin da suka ba da rahoto ga masu haɓaka 3 sprints da suka wuce kuma suna cewa: “Yaushe za ku , Monsieur D 'Artagnan, gyara wannan kwaro.' Kuma Monsieur D'Artagnan ya amsa masa: "Ee, eh, i, na riga na gyara shi." Kuma yadda abin ya faru na gyara kwaro ɗaya na yi 5 a hanya.

Mutanen da ke goyan bayan wannan bayani a cikin samarwa suna son wannan maganin ya yi aiki ba tare da kwari ba, don kada su sake sake kunna uwar garken kowace Juma'a, lokacin da duk mutane na yau da kullun ke zuwa mashaya. Masu haɓakawa da aka tura ranar Juma'a, admins suna zama har zuwa Asabar, suna ƙoƙarin samun wannan turawa kuma a daidaita su.

Kuma idan kun bayyana wa mutane cewa suna da nufin magance matsalolin iri ɗaya, za ku iya ci gaba da tsara hanyoyin. Yana da matukar muhimmanci. Me yasa? Domin lokacin da muka ce “formalization,” yana da mahimmanci a gare ku don bayyana yadda ayyukanku ke faruwa aƙalla a wani wuri a kan adiko na goge baki. Kuna buƙatar fahimtar cewa idan ku, alal misali, tura zuwa yanayin QA ko yanayin samarwa, to koyaushe yana faruwa a cikin wannan tsari; a waɗannan matakan muna gudanar da, misali, gwaje-gwajen naúrar atomatik da gwajin UI. Bayan turawa, muna duba ko aikin ya yi kyau ko mara kyau. Amma kun riga kuna da fayyace jerin ayyuka waɗanda dole ne a maimaita su akai-akai lokacin da kuka tura zuwa samarwa.

Kuma kawai lokacin da ayyukanku suka zama ƙa'ida, za ku fara zaɓar samfuran da za su taimaka muku sarrafa sarrafa waɗannan hanyoyin.

Abin takaici, sau da yawa ina ganin hakan yana faruwa a baya. Da zarar wani ya ji kalmar "DevOps", nan da nan suka ba da shawarar shigar da Jenkins, saboda sun yi imanin cewa da zarar sun shigar da Jenkins, za su sami DevOps. Sun shigar da Jenkins, sun karanta labaran “Yadda ake” a gidan yanar gizon Jenkins, sun yi ƙoƙarin shigar da matakai cikin waɗannan Yadda ake labarai, sannan suka zo wurin mutane kuma suka karkatar da mutane, suna cewa littafin ya ce kuna buƙatar yin hakan ta wannan hanyar. don haka muna yin haka.

Ba wai Jenkins mummunan kayan aiki ba ne. Ba ina nufin in faɗi haka ta kowace hanya ba. Amma wannan shi ne kawai daya daga cikin samfurori. Kuma wane samfurin da kuke amfani da shi yakamata ya zama shawararku ta ƙarshe, kuma ba wata hanya ta farko ba. Bai kamata samfurin ku ya kasance ya motsa shi ta hanyar aiwatar da al'adu da hanyoyi ba. Wannan yana da matukar muhimmanci a fahimta, wanda shine dalilin da ya sa na ciyar da lokaci mai yawa akan wannan zane-zane kuma na bayyana duk wannan na dogon lokaci.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Bari muyi magana game da ayyukan DevOps gabaɗaya. Menene su? Menene bambanci? Yadda za a gwada su? Me yasa suke da mahimmanci?

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Aikin farko da ka ji ana kiransa Ci gaba da Haɗuwa. Wataƙila wani a kan aikin yana da Ci gaba da Haɗuwa (CI).

Babbar matsalar ita ce sau da yawa lokacin da na tambayi mutum: "Shin kuna da CI akan aikin?" sai ya ce: "Ee," sa'an nan idan na tambayi abin da yake yi, ya bayyana mani gaba ɗaya tsarin sarrafa kansa. Wannan ba gaskiya bane gaba ɗaya.

A zahiri, aikin CI kawai yana nufin haɗa lambar da mutane daban-daban ke rubutawa cikin wani nau'in tushe guda ɗaya. Shi ke nan.

Tare da CI, yawanci akwai wasu ayyuka a kan hanya - kamar Ci gaba da Aiwatar da Ayyuka, Gudanar da Saki, amma za mu yi magana game da hakan daga baya.

CI da kanta tana gaya mana cewa mutane daban-daban suna rubuta lamba kuma dole ne a ci gaba da haɗa wannan lambar zuwa tushe guda ɗaya.

Menene wannan ya ba mu kuma me ya sa yake da muhimmanci? Idan muna da DotNet, to yana da kyau, harshe ne da aka haɗa, za mu iya haɗa aikace-aikacen mu. Idan ya tattara, to wannan riga alama ce mai kyau. Wannan ba yana nufin komai ba tukuna, amma alama ce ta farko mai kyau da za mu iya aƙalla tattarawa.

Sa'an nan za mu iya gudanar da wasu gwaje-gwaje, wanda kuma shi ne daban-daban yi. Gwaje-gwajen duk kore ne - wannan ita ce alama ta biyu mai kyau. Amma kuma, wannan baya nufin komai.

Amma me yasa za ku yi haka? Dukkan ayyukan da zan yi magana a kansu a yau suna ɗaukar kusan ƙima ɗaya, watau kusan fa'idodi iri ɗaya kuma ana auna su kusan iri ɗaya.

Na farko, yana ba ku damar hanzarta bayarwa. Ta yaya wannan zai ba ku damar hanzarta bayarwa? Lokacin da muka yi wasu sabbin canje-canje ga tushen lambar mu, nan da nan za mu iya ƙoƙarin yin wani abu tare da wannan lambar. Ba mu jira sai ranar alhamis ta zo domin ranar alhamis mun sake shi zuwa muhallin QA, muna yin shi nan da nan.

Zan ba ku labari guda ɗaya mai ban tausayi daga rayuwata. Ya kasance da daɗewa, lokacin da nake ƙarami kuma kyakkyawa. Yanzu na riga na zama matashi, kyakkyawa kuma mai hankali, kuma mai ladabi. Wani lokaci da ya wuce ina cikin wani aiki. Muna da babban ƙungiyar kusan masu haɓakawa 30. Kuma muna da babban, babban aikin Kasuwanci wanda ya haɓaka kusan shekaru 10. Kuma muna da rassa daban-daban. A cikin ma'ajiyar kaya muna da reshe wanda masu haɓakawa ke tafiya. Kuma akwai reshe wanda ya nuna nau'in lambar da ke cikin samarwa.

Reshen samarwa ya kasance watanni 3 a bayan reshen da ke samuwa ga masu haɓakawa. Menene ma'anar wannan? Wannan yana nufin cewa da zarar na sami bug a wani wuri da ke zuwa samarwa saboda laifin masu haɓakawa, saboda sun yarda da shi, kuma saboda laifin QA, saboda sun duba, to wannan yana nufin cewa idan na karbi wani abu. aiki don hotfix don samarwa, to dole ne in sake jujjuya canje-canjen lambara watanni 3 da suka gabata. Dole ne in tuna da abin da nake da shi watanni 3 da suka wuce kuma in yi kokarin gyara shi a can.

Idan ba ku sami wannan ƙwarewar ba tukuna, zaku iya gwada ta akan aikin gida. Babban abu shine, kar a gwada shi akan kasuwanci. Rubuta layukan lambar guda biyu, manta da su har tsawon watanni shida, sannan dawo da ƙoƙarin yin bayanin menene waɗannan layin code ɗin da kuma yadda zaku iya gyara su ko inganta su. Abu ne mai matukar ban sha'awa da ban sha'awa.

Idan muna da al'adar Haɗuwa ta Ci gaba, to wannan yana ba mu damar bincika shi tare da kayan aikin sarrafa kansa da yawa a nan da yanzu, da zaran na rubuta lambara. Wannan na iya ba ni cikakken hoto, amma duk da haka, zai cire aƙalla wasu haɗari. Kuma idan akwai yuwuwar kwaro, zan sani game da shi a yanzu, wato, a zahiri cikin mintuna biyu. Ba zan buƙatar komawa baya watanni 3 ba. Zan buƙaci in mirgine baya minti 2 kawai. Injin kofi mai kyau ba zai sami lokacin yin kofi a cikin mintuna 2 ba, don haka yana da kyau sosai.

Wannan yana da darajar cewa ana iya maimaita shi lokaci bayan lokaci akan kowane aiki, watau. ba kawai wanda kuka saita shi ba. Kuna iya maimaita duka aikin kanta kuma CI kanta za a maimaita shi don kowane sabon canji da kuka yi ga aikin. Wannan yana ba ku damar haɓaka albarkatu saboda ƙungiyar ku tana aiki sosai. Ba za ku ƙara samun yanayin da kwaro ya zo muku daga lambar da kuka yi aiki da ita watanni 3 da suka gabata ba. Ba za ku ƙara samun canjin mahallin ba lokacin da kuka zauna ku ciyar da sa'o'i biyu na farko kuna ƙoƙarin fahimtar abin da ya faru sannan ku shiga cikin ainihin mahallin kafin ku fara gyara wani abu.

Ta yaya za mu auna nasara ko gazawar wannan al’ada? Idan ka kai rahoto ga babban shugaba abin da muka aiwatar a kan aikin CI, ya ji blah blah blah. Mun aiwatar da shi, OK, amma me ya kawo mana, ta yaya za mu auna shi, ta yaya muke aiwatar da shi daidai ko kuskure?

Na farko shine, godiya ga CI, zamu iya turawa akai-akai, kuma sau da yawa daidai saboda lambar mu tana da yuwuwar samun kwanciyar hankali. Hakazalika lokacin da muke samun kuskure yana raguwa kuma lokacin gyara wannan kuskuren yana raguwa daidai don dalilin da yasa muke samun amsa daga tsarin a nan da yanzu, menene kuskuren lambar mu.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Wani aikin da muke da shi shine aikin Gwajin Automation, wanda galibi yana zuwa tare da aikin CI. Suna tafiya hannu da hannu.

Menene mahimmanci a fahimta a nan? Yana da mahimmanci a fahimci cewa gwaje-gwajenmu sun bambanta. Kuma kowane gwaji mai sarrafa kansa yana da nufin magance matsalolinsa. Muna da, alal misali, gwaje-gwajen naúrar da ke ba mu damar gwada tsarin daban, watau. Ta yaya yake aiki a cikin vacuum? Wannan yana da kyau.

Hakanan muna da gwaje-gwajen haɗin kai waɗanda ke ba mu damar fahimtar yadda nau'ikan kayayyaki daban-daban ke haɗawa da juna. Hakanan yana da kyau.

Wataƙila muna da gwaje-gwajen sarrafa kansa na UI waɗanda ke ba mu damar bincika yadda aiki tare da UI ya cika wasu buƙatun da abokin ciniki ya saita, da sauransu.

Takamaiman gwaje-gwajen da kuke gudanarwa na iya shafar sau nawa kuke gudanar da su. Yawancin gwaje-gwajen raka'a ana rubuta su gajere da ƙanana. Kuma ana iya kaddamar da su akai-akai.

Idan muna magana ne game da gwaje-gwajen atomatik na UI, to yana da kyau idan aikinku ƙanƙane ne. Gwajin sarrafa kansa na UI na iya ɗaukar ɗan lokaci kaɗan. Amma yawanci gwajin sarrafa kansa na UI wani abu ne da ke ɗaukar sa'o'i da yawa akan babban aiki. Kuma yana da kyau idan 'yan sa'o'i ne. Abinda kawai shine babu ma'ana a gudanar da su don kowane gini. Yana da ma'ana don gudanar da su da dare. Kuma lokacin da kowa ya zo aiki da safe: duka masu gwadawa da masu haɓakawa, sun sami wani nau'in rahoton cewa mun gudanar da autotest UI da dare kuma mun sami waɗannan sakamakon. Kuma a nan, sa'a guda na aikin uwar garken wanda zai duba cewa samfurin ku ya cika wasu buƙatu zai zama mai rahusa fiye da sa'a ɗaya na aikin injiniyan QA guda ɗaya, koda kuwa shi injiniyan QA ne na Junior wanda ke aiki don abinci da godiya. Duk guda, sa'a guda na aikin injin zai zama mai rahusa. Wannan shine dalilin da ya sa yana da ma'ana don saka hannun jari a ciki.

Ina da wani aikin da nake aiki akai. Mun yi gudun hijira na makonni biyu a kan wannan aikin. Aikin yana da girma, yana da mahimmanci ga bangaren kudi, kuma ba za a iya yin kuskure ba. Kuma bayan guguwar mako biyu, tsarin ci gaba ya biyo bayan tsarin gwaji, wanda ya ɗauki wasu makonni 4. Ka yi ƙoƙari ka yi tunanin girman bala'in. Muna rubuta code na tsawon makonni biyu, sannan mu yi shi ala CodeFreeze, saka shi cikin sabon sigar aikace-aikacen, sannan mu fitar da shi ga masu gwadawa. Masu gwaji sun gwada shi har tsawon wasu makonni 4, watau. Yayin da suke gwada shi, muna da lokaci don shirya musu ƙarin juzu'i biyu. Wannan lamari ne mai matukar ban tausayi.

Kuma mun gaya musu cewa idan kuna son ƙara haɓaka, yana da ma'ana a gare ku ku aiwatar da ayyukan Gwaji ta atomatik, saboda wannan shine abin da ke cutar da ku a nan, a yanzu.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Yi Ci gaba da Aikawa. Mai girma, kun yi gini. Wannan ya riga ya yi kyau. An haɗa lambar ku. Yanzu zai yi kyau a tura wannan ginin akan wasu yanayi. Bari mu ce a cikin yanayi don masu haɓakawa.

Me yasa yake da mahimmanci? Na farko, za ku iya duba yadda kuka yi nasara tare da tsarin turawa kanta. Na gamu da irin waɗannan ayyuka, lokacin da na tambaya: “Ta yaya kuke tura sabon sigar aikace-aikacen?”, mutanen suna gaya mani: “Muna haɗa shi kuma mu haɗa shi cikin ma'ajiyar zip. Muna aika shi zuwa ga admin ta mail. Manajan yana zazzagewa kuma yana faɗaɗa wannan tarihin. Kuma duk ofishin ya fara addu’a cewa uwar garken ta dauko sabuwar manhajar.”

Bari mu fara da wani abu mai sauƙi. Misali, sun manta da sanya CSS a cikin ma'ajiyar bayanai ko kuma sun manta canza hashtag a cikin sunan fayil na java-script. Kuma idan muka yi buƙatu ga uwar garken, mai binciken yana tunanin cewa ya riga ya sami wannan fayil ɗin rubutun java kuma ya yanke shawarar ba za a sauke shi ba. Kuma akwai tsohuwar sigar, wani abu ya ɓace. Gabaɗaya, ana iya samun matsaloli da yawa. Saboda haka, aikin ci gaba da ƙaddamarwa yana ba ku damar gwada akalla abin da zai faru idan kun ɗauki hoto mai tsabta kuma ku loda shi zuwa sabon yanayi mai tsabta. Kuna iya ganin inda wannan ya kai.

Hakanan, lokacin da kuka haɗa lamba tsakanin juna, watau. tsakanin umarnin, wannan yana ba ku damar ganin yadda yake kama da UI.

Ɗaya daga cikin matsalolin da ke faruwa inda ake amfani da rubutun vanilla java-script da yawa shine cewa masu haɓakawa guda biyu sun yi gaggawar bayyana maɓalli mai suna iri ɗaya a cikin abin taga. Sannan, dangane da sa'ar ku. Wanda fayil ɗin rubutun java ya ciro na biyu zai sake rubuta canje-canjen ɗayan. Hakanan yana da ban sha'awa sosai. Ka shigo: wani abu yana aiki ga mutum ɗaya, wani ba ya aiki ga wani. Kuma yana da "mai ban mamaki" lokacin da duk ya fito a samarwa.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Aiki na gaba da muke da shi shine al'adar Maidowa ta atomatik, wato juyawa zuwa sigar da ta gabata ta aikace-aikacen.

Me yasa wannan yake da mahimmanci ga masu haɓakawa? Har yanzu akwai wadanda ke tunawa da nisa, 90s mai nisa, lokacin da kwamfutoci suke da girma kuma shirye-shirye sun kasance kanana. Kuma hanyar ci gaban yanar gizo ita ce ta hanyar PHP. Ba wai PHP mugun harshe ba ne, ko da yake.

Amma matsalar ta bambanta. Lokacin da muka tura sabon sigar rukunin yanar gizon mu, ta yaya muka tura shi? Mafi sau da yawa mun bude Far Manager ko wani abu dabam. Kuma loda waɗannan fayilolin zuwa FTP. Kuma ba zato ba tsammani muka gane cewa muna da wasu ƙananan ƙananan kwaro, misali, mun manta saka semicolon ko manta da canza kalmar sirri don database, kuma akwai kalmar sirri don database, wanda ke kan gidan gida. Kuma mun yanke shawarar haɗawa da sauri zuwa FTP kuma mu gyara fayilolin nan da nan. Wannan wuta ce kawai! Wannan shine abin da ya shahara a cikin 90s.

Amma, idan ba ku kalli kalanda ba, shekarun 90 sun kasance kusan shekaru 30 da suka gabata. Yanzu komai yana faruwa kadan daban. Kuma ka yi ƙoƙari ka yi tunanin girman bala'in sa'ad da suka gaya maka: "Mun tura zuwa samarwa, amma wani abu ya faru a can. Anan ga shigar ku ta FTP da kalmar sirri, haɗa zuwa samarwa kuma da sauri gyara shi a can." Idan kai Chuck Norris ne, wannan zai yi aiki. Idan ba haka ba, to kuna haɗarin cewa idan kun gyara kwaro ɗaya, zaku sami ƙarin 10. Wannan shine ainihin dalilin da yasa wannan al'ada ta juyawa zuwa sigar da ta gabata ta ba ku damar cimma abubuwa da yawa.

Ko da wani abu mara kyau ko ta yaya ya shiga prod a wani wuri, to yana da kyau, amma ba mai mutuwa ba. Kuna iya komawa zuwa sigar baya da kuke da ita. Kira shi madadin, idan ya fi sauƙi a gane shi a cikin kalmomin. Kuna iya komawa zuwa wannan sigar ta baya, kuma masu amfani za su iya yin aiki tare da samfurin ku, kuma za ku sami isasshen lokacin buffer. Kuna iya kwantar da hankali, ba tare da gaggawa ba, ɗaukar duk wannan kuma ku gwada shi a gida, gyara shi, sannan ku loda sabon salo. Yana da ma'ana da gaske yin wannan.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Yanzu bari mu yi kokarin hada ko ta yaya biyu da baya ayyuka tare. Za mu sami na uku mai suna Gudanarwar Saki.

Lokacin da muka yi magana game da Ci gaba da Deployment a cikin na gargajiya tsari, mu ce cewa dole ne mu cire code daga wani reshe daga ma'ajiyar, harhada shi da kuma tura shi. Yana da kyau idan muna da muhalli iri ɗaya. Idan muna da mahalli da yawa, wannan yana nufin cewa dole ne mu ja lambar kowane lokaci, koda daga aikatawa iri ɗaya. Za mu ciro shi kowane lokaci, za mu gina shi kowane lokaci kuma za mu tura shi zuwa wani sabon yanayi. Da fari dai, wannan lokaci ne, saboda gina aikin, idan kuna da babban kuma ya zo daga 90s, to yana iya ɗaukar sa'o'i da yawa.

Bayan haka, akwai wani bakin ciki. Lokacin da kuke ginawa, ko da na'ura ɗaya, za ku gina maɓuɓɓuka iri ɗaya, har yanzu ba ku da tabbacin cewa wannan na'ura tana cikin yanayi ɗaya kamar yadda aka yi a lokacin ginawa na ƙarshe.

Bari mu ce wani ya shigo ya sabunta muku DotNet ko kuma, akasin haka, wani ya yanke shawarar share wani abu. Sannan kuna da rashin fahimta cewa daga wannan ƙaddamarwa makonni biyu da suka gabata muna gina ginin kuma komai ya yi kyau, amma yanzu ya zama kamar na'ura ɗaya, alƙawarin guda ɗaya, lambar da muke ƙoƙarin ginawa, amma ba ta aiki. . Za ku yi hulɗa da wannan na dogon lokaci kuma ba gaskiya ba ne cewa za ku gane shi. Aƙalla, za ku lalata jijiyoyi da yawa.

Don haka, aikin Gudanar da Saki yana ba da shawarar gabatar da ƙarin abstraction da ake kira wurin ajiyar kayan tarihi ko gallery ko ɗakin karatu. Kuna iya kiran shi duk abin da kuke so.

Babban ra'ayin shi ne, da zaran mun sami wani nau'i a can, a ce, a cikin reshe da muke shirye don turawa zuwa wurare daban-daban, muna tattara aikace-aikace daga wannan ƙaddamar da duk abin da muke bukata na wannan aikace-aikacen, muna tattara shi. a cikin rumbun ajiyar zip kuma ajiye shi a cikin wasu amintattun ma'ajiyar. Kuma daga wannan ma'adana za mu iya samun wannan zip archive a kowane lokaci.

Sa'an nan kuma mu dauke shi da kuma tura shi ta atomatik zuwa dev muhallin. Muna tsere a can, kuma idan duk abin da ke da kyau, to, mun tura zuwa mataki. Idan komai ya yi kyau, to muna tura rumbun adana bayanai iri ɗaya don samarwa, binaries iri ɗaya, an haɗa su daidai sau ɗaya.

Bugu da kari, idan muna da gallery kamar wannan, yana kuma taimaka mana magance haɗarin da muka yi magana a kan faifan ƙarshe lokacin da muka yi magana game da komawa zuwa sigar da ta gabata. Idan kun tura wani abu da gangan ba daidai ba, koyaushe kuna iya ɗaukar kowane sigar da ta gabata daga wannan hoton kuma ku kwance shi zuwa waɗannan mahallin ta hanya ɗaya. Wannan yana ba ku damar juyawa cikin sauƙi zuwa sigar da ta gabata idan wani abu ya ɓace.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Akwai wani babban al'ada. Ni da ku duka mun fahimci cewa lokacin da muka mayar da aikace-aikacenmu zuwa sigar da ta gabata, wannan na iya nufin cewa muna buƙatar kayan aikin da suka gabata.

Lokacin da muke magana game da kayan aikin kama-da-wane, mutane da yawa suna tunanin cewa wannan wani abu ne da admins suka kafa. Kuma idan kuna buƙata, ku ce, don samun sabon uwar garken da kuke son gwada sabon nau'in aikace-aikacen ku, to dole ne ku rubuta tikiti ga admins ko deps. Devops zai ɗauki makonni 3 don wannan. Kuma bayan makonni 3 za su gaya maka cewa mun sanya maka na'ura mai mahimmanci, mai mahimmanci guda ɗaya, RAM gigabytes biyu da uwar garken Windows ba tare da DotNet ba. Kun ce: "Amma ina son DotNet." Suna: "Ok, dawo nan da makonni 3."

Manufar ita ce ta yin amfani da Infrastructure azaman ayyukan Code, zaku iya ɗaukar kayan aikin ku kamar wata hanya.

Wataƙila, idan ɗayanku yana haɓaka aikace-aikace akan DotNet, ƙila kun ji labarin wani ɗakin karatu mai suna Entity Framework. Kuma wataƙila kun ji cewa Tsarin Haɗin kai ɗaya ne daga cikin hanyoyin da Microsoft ke turawa. Don aiki tare da bayanan bayanai, wannan hanya ce da ake kira Code First. Wannan shine lokacin da kuka bayyana a cikin lambar yadda kuke son duba bayananku. Sannan ka tura aikace-aikacen. Yana haɗi zuwa bayanan bayanai, shi da kansa yana ƙayyade ko wane tebur ne a can kuma wane tebur ba, kuma yana ƙirƙirar duk abin da kuke buƙata.

Kuna iya yin haka tare da kayan aikin ku. Babu bambanci tsakanin ko kuna buƙatar rumbun adana bayanai don aiki ko kuna buƙatar uwar garken Windows don aikin. Hanya ce kawai. Kuma zaku iya sarrafa sarrafa wannan kayan aikin, zaku iya sarrafa tsarin wannan albarkatun ta atomatik. Sabili da haka, duk lokacin da kuke son gwada sabon ra'ayi, wasu sabbin hanyoyin, ba za ku buƙaci rubuta tikitin zuwa devops ba, zaku iya tura keɓaɓɓen kayan aikin kanku daga samfuran shirye-shiryen da aka yi, daga rubutun da aka yi da kuma aiwatar da shi. can duk gwaje-gwajenku. Kuna iya share wannan, samun wasu sakamako kuma kuyi ƙarin rahoto game da shi.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Aiki na gaba, wanda kuma ya wanzu kuma yana da mahimmanci, amma wanda mutane kaɗan ke amfani da shi, shine Kula da Ayyukan Aikace-aikace.

Ina so in faɗi abu ɗaya kawai game da Kula da Ayyukan Aikace-aikacen. Menene mafi mahimmanci game da wannan aikin? Wannan shine abin da Kulawar Ayyukan Aikace-aikacen yayi daidai da gyaran ɗaki. Wannan ba jihar karshe ba ce, tsari ne. Kuna buƙatar yin shi akai-akai.

A hanya mai kyau, yana da kyau a aiwatar da Sabis na Ayyukan Aikace-aikacen akan kusan kowane gini, kodayake, kamar yadda kuka fahimta, wannan ba koyaushe bane zai yiwu. Amma, aƙalla, yana buƙatar aiwatar da kowane sakin.

Me yasa yake da mahimmanci? Domin idan kun fuskanci raguwar aikin kwatsam, to kuna buƙatar fahimtar dalilin da yasa. Idan ƙungiyar ku tana da, a ce, sati biyu sprints, to, aƙalla sau ɗaya a kowane mako biyu, ya kamata ku tura aikace-aikacenku zuwa wasu uwar garken daban, inda kuke da tsayayyen processor, RAM, diski, da sauransu. Kuma gudanar da waɗannan gwaje-gwaje iri ɗaya. . Kuna samun sakamakon. Dubi yadda ya canza daga tseren baya.

Kuma idan ka gano cewa raguwar ta ragu sosai a wani wuri, hakan yana nufin cewa saboda sauye-sauyen da aka samu cikin makonni biyu da suka gabata. Wannan zai ba ku damar ganowa da gyara matsalar da sauri. Kuma kuma, waɗannan kusan ma'auni ɗaya ne waɗanda za ku iya auna yadda kuka yi nasarar yin sa.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Abu na gaba da muke da shi shine aikin Gudanar da Kanfigareshan. Akwai kaɗan waɗanda suka ɗauki wannan da muhimmanci. Amma ku yi imani da ni, wannan hakika abu ne mai matukar muhimmanci.

Akwai labari mai ban dariya kwanan nan. Mutanen sun zo wurina suka ce: “Ka taimake mu mu gudanar da binciken tsaro na aikace-aikacenmu.” Mun daɗe muna kallon lambar tare, sun gaya mini game da aikace-aikacen, zana zane-zane. Kuma ƙari ko debe komai ya kasance mai ma'ana, fahimta, aminci, amma akwai ɗaya AMMA! Suna da fayilolin sanyi a cikin sarrafa tushen su, gami da waɗanda aka samar tare da bayanan IP, tare da shiga da kalmomin shiga don haɗawa zuwa waɗannan bayanan bayanai, da sauransu.

Kuma na ce: "Guys, lafiya, kun rufe yanayin samar da ku tare da Tacewar zaɓi, amma gaskiyar cewa kuna da login da kalmar sirri don samar da bayanai daidai a cikin sarrafa tushen kuma duk wani mai haɓakawa zai iya karanta shi ya riga ya zama babban hadarin tsaro. . Kuma komai girman amincin aikace-aikacenku daga ra'ayi na lamba, idan kun bar shi a cikin sarrafa tushe, to ba za ku taɓa yin bincike a ko'ina ba." Abin da nake magana ke nan.

Gudanarwar saiti. Za mu iya samun tsari daban-daban a wurare daban-daban. Misali, ƙila mu sami shiga daban-daban da kalmomin shiga don bayanan bayanai don QA, demo, yanayin samarwa, da sauransu.

Hakanan za'a iya sarrafa wannan tsari ta atomatik. Yakamata koyaushe ya zama daban daga aikace-aikacen kanta. Me yasa? Domin kun gina aikace-aikacen sau ɗaya, sannan aikace-aikacen bai damu ba ko kun haɗa zuwa uwar garken SQL ta irin wannan IP ko irin wannan da kuma irin wannan IP, ya kamata yayi aiki iri ɗaya. Saboda haka, idan ba zato ba tsammani daya daga cikin ku har yanzu hardcoding dangane da kirtani a cikin code, sa'an nan ku tuna cewa zan same ku da kuma azabtar da ku idan kun sami kanku a kan wannan aikin tare da ni. Ana sanya wannan koyaushe a cikin wani tsari daban, misali, a cikin web.config.

Kuma wannan tsarin an riga an sarrafa shi daban, watau wannan shine daidai lokacin da mai haɓakawa da mai gudanarwa za su iya zuwa su zauna a ɗaki ɗaya. Kuma mai haɓakawa na iya cewa: “Duba, ga binaries na aikace-aikacena. Suna aiki. Aikace-aikacen yana buƙatar bayanan bayanai don aiki. Anan kusa da binaries akwai fayil. A cikin wannan fayil ɗin, wannan filin yana da alhakin shiga, wannan don kalmar sirri ne, wannan na IP ne. Sanya shi a ko'ina." Kuma yana da sauki kuma bayyananne ga admin. Zai iya tura shi da gaske a ko'ina ta hanyar sarrafa wannan tsarin.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Kuma al’ada ta ƙarshe da zan yi magana a kai ita ce al’adar da ke da alaƙa da gajimare. Kuma yana kawo sakamako mafi girma idan kuna aiki a cikin gajimare. Wannan cirewar muhallin ku ne ta atomatik.

Na san akwai mutane da yawa a wannan taron daga ƙungiyoyin da nake aiki da su. Kuma tare da duk ƙungiyoyin da nake aiki tare, muna amfani da wannan aikin.

Me yasa? Tabbas, zai yi kyau idan kowane mai haɓaka yana da injin kama-da-wane wanda zai yi aiki 24/7. Amma watakila wannan labari ne a gare ku, watakila ba ku kula ba, amma mai haɓakawa da kansa ba ya aiki 24/7. Mai haɓakawa yawanci yana aiki awa 8 a rana. Ko da ya zo aiki da wuri, yana da babban abincin rana a lokacin yana zuwa dakin motsa jiki. Bari ya zama sa'o'i 12 a rana lokacin da mai haɓaka ke amfani da waɗannan albarkatun. Kamar yadda dokarmu ta tanada, muna da kwanaki 5 cikin 7 a cikin mako guda waɗanda ake ɗaukar kwanakin aiki.

Saboda haka, a ranakun mako wannan na'ura bai kamata ya yi aiki na sa'o'i 24 ba, amma kawai 12, kuma a karshen mako wannan na'ura bai kamata ya yi aiki ba. Zai yi kama da cewa komai yana da sauƙi, amma menene mahimmanci a faɗi a nan? Ta hanyar aiwatar da wannan sauƙi mai sauƙi akan wannan ƙayyadaddun tsari, yana ba ku damar rage farashin kula da waɗannan mahalli da kashi 70%, watau kun ɗauki farashin dev, QA, demo, muhalli kuma ku raba shi da 3.

Tambayar ita ce, me za a yi da sauran kudin? Misali, yakamata masu haɓakawa su sayi ReSharper idan basu rigaya ba. Ko kuma ku yi jam'iyyar cocktail. Idan a baya kuna da yanayi guda ɗaya wanda duka dev da QA suka yi kiwo, kuma shi ke nan, yanzu zaku iya yin 3 daban-daban waɗanda za a ware, kuma mutane ba za su tsoma baki tare da juna ba.

Mafi kyawun ayyukan DevOps don masu haɓakawa. Anton Boyko (2017)

Game da zane-zane tare da ma'aunin aiki mai ci gaba, ta yaya za mu iya kwatanta aikin idan muna da rikodin 1 a cikin bayanan da ke cikin aikin, bayan watanni biyu akwai miliyan? Yadda za a fahimci dalilin da yasa kuma menene ma'anar auna aikin?

Wannan tambaya ce mai kyau, saboda yakamata koyaushe ku auna aikin akan albarkatun iri ɗaya. Wato, kuna fitar da sabon lamba, kuna auna aiki akan sabon lambar. Misali, kuna buƙatar gwada yanayin aiki daban-daban, a ce kuna son gwada yadda aikace-aikacen ke aiki akan nauyi mai sauƙi, inda akwai masu amfani 1 kuma girman ma'aunin bayanai ya kai gigabytes 000. Kun auna shi kuma ku sami lambobin. Na gaba za mu ɗauki wani labari. Misali, masu amfani 5, girman bayanai 5 terabyte. Mun sami sakamakon kuma mun tuna da su.

Menene mahimmanci a nan? Abu mai mahimmanci a nan shi ne cewa ya danganta da yanayin, ƙarar bayanai, adadin masu amfani da lokaci ɗaya, da dai sauransu, kuna iya shiga cikin wasu iyakoki. Misali, zuwa iyakar katin sadarwar, ko zuwa iyakar rumbun kwamfutarka, ko iyakar iyawar processor. Wannan shine abin da ke da mahimmanci a gare ku ku fahimta. A cikin yanayi daban-daban kuna shiga cikin takamaiman iyakoki. Kuma kuna buƙatar fahimtar lambobin lokacin da kuka buga su.

Shin muna magana ne game da auna aikin a cikin yanayin gwaji na musamman? Wato wannan ba samarwa ba ne?

Ee, wannan ba samarwa ba ne, wannan yanayin gwaji ne, wanda koyaushe yake daidai don ku iya kwatanta shi da ma'aunin baya.

An fahimci godiya!

Idan babu tambayoyi, ina tsammanin za mu iya gamawa. Na gode!

source: www.habr.com

Add a comment