Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Njira IaC (Infrastructure as Code) sichimangokhala ndi ma code omwe amasungidwa m'nkhokwe, komanso anthu ndi njira zomwe zimazungulira code iyi. Kodi ndizotheka kugwiritsanso ntchito njira zoyambira pakupanga mapulogalamu mpaka kasamalidwe ka zomangamanga ndi kufotokozera? Zingakhale bwino kukumbukira mfundo imeneyi pamene mukuwerenga nkhaniyi.

English Version

Ichi ndi cholembedwa changa zisudzo pa DevopsConf 2019-05-28.

Slides ndi makanema

Infrastructure monga mbiri ya bash

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Tiyerekeze kuti mwabwera ku ntchito ina yatsopano, ndipo akukuuzani kuti: β€œTachita Infrastructure ngati Code". Zoona zake zimakhala Infrastructure monga mbiri ya bash kapena mwachitsanzo Zolemba ngati mbiri ya bash. Izi ndizochitika zenizeni, mwachitsanzo, nkhani yofananayi inafotokozedwa ndi Denis Lysenko m'mawu Momwe mungasinthire maziko onse ndikuyamba kugona bwino, adafotokoza momwe adapezera maziko ogwirizana a polojekitiyi kuchokera ku mbiri ya bash.

Ndi chikhumbo china, tinganene zimenezo Infrastructure monga mbiri ya bash ili ngati kodi:

  1. kuberekana: Mutha kutenga mbiri ya bash, kuyendetsa malamulo kuchokera pamenepo, ndipo mutha, mwa njira, kupeza kasinthidwe kogwira ntchito ngati zotsatira.
  2. kumasulira: mukudziwa omwe adalowa ndi zomwe adachita, kachiwiri, sizowona kuti izi zidzakutsogolerani ku kasinthidwe kogwira ntchito potuluka.
  3. mbiri: nkhani ya ndani adachita chiyani. kokha simungathe kuigwiritsa ntchito ngati mutataya seva.

Ndiyenera kuchita chiyani?

Infrastructure ngati Code

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Ngakhale nkhani yachilendo ngati Infrastructure monga mbiri ya bash mukhoza kukoka ndi makutu Infrastructure ngati Code, koma tikafuna kuchita chinthu chovuta kwambiri kuposa seva yabwino yakale ya LAMP, tidzafika potsimikiza kuti code iyi iyenera kusinthidwa mwanjira ina, kusinthidwa, kusinthidwa. Kenako tikufuna kuganizira kufanana kwapakati Infrastructure ngati Code ndi chitukuko cha mapulogalamu.

YAUmitsa

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Pa ntchito yokonza makina osungira, panali ntchito yaing'ono sinthani SDS nthawi ndi nthawi: tikutulutsa kumasulidwa kwatsopano - kukufunika kutulutsidwa kuti ayesedwenso. Ntchitoyi ndi yosavuta kwambiri:

  • lowani apa kudzera ssh ndikuchita lamulo.
  • koperani fayilo pamenepo.
  • konzani config apa.
  • yambitsani utumiki kumeneko
  • ...
  • ZIMENE MUNGACHITE!

Pamalingaliro ofotokozedwawo, bash ndiyokwanira, makamaka koyambirira kwa polojekitiyi, ikangoyamba kumene. Izi sizoyipa kuti mugwiritse ntchito bash, koma pakapita nthawi pali zopempha kuti atumize zofanana, koma zosiyana pang'ono. Chinthu choyamba chomwe chimabwera m'maganizo ndi copy-paste. Ndipo tsopano tili kale ndi malemba awiri ofanana omwe amachita pafupifupi chinthu chomwecho. M'kupita kwa nthawi, kuchuluka kwa zolembedwa kunakula, ndipo tidayang'anizana ndi mfundo yakuti pali lingaliro lazamalonda pakuyika kuyika komwe kumayenera kulumikizidwa pakati pa zolemba zosiyanasiyana, izi ndizovuta kwambiri.

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Zikuoneka kuti pali mchitidwe monga DRY (Musabwereze Nokha). Lingaliro ndikugwiritsanso ntchito code yomwe ilipo. Zikumveka zophweka, koma sitinabwere ku izi nthawi yomweyo. Kwa ife, linali lingaliro la banal: kulekanitsa ma configs kuchokera ku zolemba. Iwo. malingaliro abizinesi amomwe kuyikako kumagwiritsidwira ntchito padera, configs padera.

SOLID ya CFM

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Patapita nthawi, polojekitiyi inakula ndipo kupitiriza kwachilengedwe kunali kutuluka kwa Ansible. Chifukwa chachikulu cha mawonekedwe ake ndikuti pali ukatswiri pagulu komanso kuti bash sinapangidwe kuti ikhale yovuta. Ansible adayambanso kukhala ndi malingaliro ovuta. Kuti muteteze malingaliro ovuta kuti asasinthe kukhala chipwirikiti, pali mfundo zoyendetsera kachidindo pakupanga mapulogalamu ZOLIMBIKITSA Komanso, mwachitsanzo, Grigory Petrov mu lipoti lakuti "N'chifukwa chiyani katswiri wa IT amafunikira mtundu waumwini" adafunsa kuti munthu adapangidwa m'njira yoti zikhale zosavuta kuti azigwira ntchito ndi mabungwe ena, pakupanga mapulogalamuwa. ndi zinthu. Tikaphatikiza mfundo ziwirizi ndikupitiriza kuzikulitsa, tidzaona kuti tingagwiritsenso ntchito ZOLIMBIKITSA kuti zikhale zosavuta kusunga ndikusintha malingaliro awa mtsogolomu.

Mfundo ya Udindo Umodzi

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Kalasi iliyonse imagwira ntchito imodzi yokha.

Palibe chifukwa chosakaniza ma code ndikupanga zimphona za spaghetti za monolithic. Zomangamanga ziyenera kukhala ndi njerwa zosavuta. Zikuoneka kuti ngati mutagawanitsa Ansible playbook mu tiziduswa tating'ono, werengani maudindo Ansible, ndiye kuti ndizosavuta kuwasamalira.

The Open Closed Principle

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Mfundo yotsegula/yotsekedwa.

  • Tsegulani zowonjezera: zikutanthauza kuti machitidwe a bungwe atha kuwonjezedwa popanga mitundu yatsopano yamabungwe.
  • Zatsekedwa kuti zisinthidwe: Chifukwa chakukulitsa machitidwe a bungwe, palibe zosintha zomwe zimayenera kusinthidwa pamakhodi omwe amagwiritsa ntchito mabungwewo.

Poyambirira, tidayika zida zoyeserera pamakina enieni, koma chifukwa chakuti malingaliro abizinesi omwe adatumizidwa anali osiyana ndi kukhazikitsidwa, tidawonjezera kutulutsa kwa baremetall popanda vuto lililonse.

Mfundo ya Liskov Substitution

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

M'malo mfundo Barbara Liskov. zinthu zomwe zili mu pulogalamu ziyenera kusinthidwa ndi zochitika za subtypes zawo popanda kusintha machitidwe oyenera a pulogalamuyo.

Ngati muyang'ana mozama, sizinthu za polojekiti iliyonse yomwe ingagwiritsidwe ntchito pamenepo ZOLIMBIKITSA, nthawi zambiri zimakhala za CFM, mwachitsanzo, pantchito ina ndikofunikira kuyika pulogalamu ya Java yokhala ndi bokosi pamwamba pa Java zosiyanasiyana, ma seva ogwiritsira ntchito, nkhokwe, OS, ndi zina zambiri. Pogwiritsa ntchito chitsanzo ichi, ndilingalira mfundo zina ZOLIMBIKITSA

Kwa ife, pali mgwirizano mkati mwa gulu la zomangamanga kuti ngati tayika imbjava kapena oraclejava udindo, ndiye kuti tili ndi java binary executable. Izi ndizofunikira chifukwa Maudindo akumtunda amadalira khalidwe ili; Nthawi yomweyo, izi zimatilola kuti tisinthe mtundu umodzi wa java / mtundu wina popanda kusintha malingaliro otumizira.

Vuto pano liri kuti ndizosatheka kugwiritsa ntchito izi mu Ansible, chifukwa chake mapangano ena amawonekera mkati mwa gulu.

The Interface Segregation Principle

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Mfundo yolekanitsa mawonekedwe: "Mawonekedwe ambiri okhudzana ndi kasitomala ndi abwino kuposa mawonekedwe a cholinga chimodzi.

Poyambirira, tidayesa kuyika kusinthika konse kwa kutumizidwa kwa ntchito mu buku limodzi la Ansible playbook, koma zinali zovuta kuthandizira, ndi njira tikakhala ndi mawonekedwe akunja (makasitomala amayembekeza doko 443), ndiye kuti maziko atha kusonkhanitsidwa kuchokera kwa munthu payekha. njerwa za kukhazikitsa kwapadera.

Mfundo ya Dependency Inversion

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Mfundo ya kudalira inversion. Ma module apamwamba sayenera kudalira ma modules otsika kwambiri. Mitundu yonse iwiri ya ma modules iyenera kudalira zotsalira. Kufotokozera sikuyenera kudalira mwatsatanetsatane. Tsatanetsatane ziyenera kutengera zomwe zimachotsedwa.

Pano chitsanzo chidzakhazikitsidwa pa antipattern.

  1. M'modzi mwa makasitomala anali ndi mtambo wachinsinsi.
  2. Tinayitanitsa makina enieni mkati mwamtambo.
  3. Koma chifukwa cha mawonekedwe a mtambo, kutumizidwa kwa mapulogalamu kumalumikizidwa ndi hypervisor VM.

Iwo. Mfundo zoyendetsera ntchito zapamwamba zidayenda modalira milingo yotsika ya hypervisor, ndipo izi zidatanthauza mavuto mukamagwiritsanso ntchito malingaliro awa. Osachita mwanjira iyi.

Kuyanjana

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Zomangamanga monga kachidindo sizongokhudza kachidindo, komanso za ubale pakati pa ma code ndi anthu, zokhudzana ndi kuyanjana pakati pa opanga zomangamanga.

Chinthu cha basi

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Tiyerekeze kuti muli ndi Vasya pa polojekiti yanu. Vasya amadziwa zonse zokhudzana ndi zomangamanga zanu, chidzachitike ndi chiyani ngati Vasya atayika mwadzidzidzi? Izi ndizochitika zenizeni, chifukwa akhoza kugundidwa ndi basi. Nthawi zina zimachitika. Izi zikachitika komanso chidziwitso chokhudza kachidindo, kapangidwe kake, momwe amagwirira ntchito, mawonekedwe ndi mapasiwedi samagawidwa pakati pa gulu, ndiye kuti mutha kukumana ndi zovuta zingapo. Kuti muchepetse zoopsazi ndikugawa chidziwitso mkati mwa gulu, mutha kugwiritsa ntchito njira zosiyanasiyana

Pair Devopsing

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Sizili ngati ngati nthabwala, kuti ma admins amamwa mowa, kusintha mawu achinsinsi, ndi analogi ya mapulogalamu awiri. Iwo. mainjiniya awiri amakhala pansi pa kompyuta imodzi, kiyibodi imodzi ndikuyamba kukhazikitsa zida zanu palimodzi: kukhazikitsa seva, kulemba gawo Loyenera, ndi zina. Zikumveka zabwino, koma sizinagwire ntchito kwa ife. Koma zochitika zapadera za mchitidwe umenewu zinagwira ntchito. Wantchito watsopano wafika, mlangizi wake amatenga ntchito yeniyeni pamodzi ndi iye, amagwira ntchito ndikusamutsa chidziwitso.

Mlandu wina wapadera ndi kuyimba kwa zochitika. Pavuto, gulu la omwe ali pantchito ndi omwe akukhudzidwawo amasonkhana, mtsogoleri mmodzi amasankhidwa, yemwe amagawana chophimba chake ndi kufotokoza malingaliro ake. Otsatira ena amatsatira malingaliro a mtsogoleriyo, amazonda zidule kuchokera ku kontrakitala, fufuzani kuti sanaphonye mzere mu chipikacho, ndikuphunzira zatsopano za dongosololi. Njira imeneyi imagwira ntchito nthawi zambiri.

Ndemanga ya Code

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Mwachidziwitso, zinali zogwira mtima kwambiri kufalitsa chidziwitso chokhudza zomangamanga ndi momwe zimagwirira ntchito pogwiritsa ntchito ndondomeko yowunikira:

  • Zomangamanga zimafotokozedwa ndi code mu repository.
  • Zosintha zimachitika munthambi yosiyana.
  • Pakati pempho lophatikizana, mutha kuwona kusintha kwakusintha kwazinthu.

Chochititsa chidwi apa chinali chakuti owunikirawo adasankhidwa mmodzimmodzi, malinga ndi ndondomeko, i.e. ndi kuthekera kwina mudzakwera mu gawo latsopano la zomangamanga.

Kodi Style

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Popita nthawi, mikangano idayamba kuwonekera pakuwunika, chifukwa ... owunikirawo anali ndi kalembedwe kawo ndipo kasinthasintha wa owunikirawo adawadzaza ndi masitayelo osiyanasiyana: mipata iwiri kapena 2, camelCase kapena snake_case. Sizinali zotheka kukhazikitsa izi nthawi yomweyo.

  • Lingaliro loyamba linali kulimbikitsa kugwiritsa ntchito linter, pambuyo pake, aliyense ndi injiniya, aliyense ndi wanzeru. Koma osintha osiyanasiyana, OS, sizothandiza
  • Izi zidasintha kukhala bot yomwe idalemba kuti ichepetse pazovuta zilizonse ndikuphatikiza zotulutsa. Koma nthawi zambiri pamakhala zinthu zofunika kwambiri kuchita ndipo codeyo idakhalabe yosakhazikika.

Green Build Master

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Nthawi ikupita, ndipo tafika potsimikiza kuti kuchita zomwe sizikupambana mayeso ena sikuloledwa kulowa mbuye. Voila! Tidapanga Green Build Master, yomwe yakhala ikuchitika pakupanga mapulogalamu kwanthawi yayitali:

  • Chitukuko chikuchitika mu nthambi ina.
  • Mayeso akuchitika pa ulusiwu.
  • Ngati mayesero alephera, code sichidzalowa mbuye.

Kupanga chisankhochi kunali kowawa kwambiri, chifukwa... zinayambitsa mikangano yambiri, koma zinali zoyenera, chifukwa ... Ndemanga zinayamba kulandira zopempha zophatikizana popanda kusiyana kwa kalembedwe, ndipo patapita nthawi chiwerengero cha madera ovuta chinayamba kuchepa.

Kuyesa kwa IaC

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Kuphatikiza pa kuyang'ana kalembedwe, mutha kugwiritsa ntchito zinthu zina, mwachitsanzo, kuti muwone ngati zida zanu zitha kuyika. Kapena onetsetsani kuti kusintha kwazinthu sikungabweretse kutaya ndalama. N’chifukwa chiyani zimenezi zingakhale zofunika? Funsoli ndi lovuta komanso lafilosofi, ndi bwino kuyankha ndi nkhani yomwe mwanjira ina panali auto-scaler pa Powershell yomwe sinayang'ane malire a malire => ma VM ambiri adalengedwa kuposa momwe amafunikira => kasitomala adagwiritsa ntchito ndalama zambiri kuposa momwe adakonzera. Izi sizosangalatsa, koma zitha kukhala zotheka kuti mugwire cholakwika ichi pazaka zoyambirira.

Wina angafunse kuti, bwanji kupanga zomangamanga zovuta kukhala zovuta kwambiri? Kuyesa kwa zomangamanga, monga ma code, sikungokhudza kuphweka, koma kudziwa momwe maziko anu ayenera kugwirira ntchito.

Piramidi Yoyesera ya IaC

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Kuyesa kwa IaC: Static Analysis

Ngati mutumiza zida zonse nthawi imodzi ndikuwonetsetsa kuti zikugwira ntchito, mutha kupeza kuti zimatenga nthawi yambiri ndipo zimafunikira nthawi yambiri. Choncho, maziko ayenera kukhala chinachake chimene chimagwira ntchito mofulumira, pali zambiri, ndipo chimakwirira malo ambiri akale.

Bash ndizovuta

Tiyeni tione chitsanzo chaching’ono. sankhani mafayilo onse m'ndandanda wamakono ndikujambula kumalo ena. Chinthu choyamba chomwe chimabwera m'maganizo:

for i in * ; do 
    cp $i /some/path/$i.bak
done

Bwanji ngati pali malo mu dzina lafayilo? Chabwino, ndife anzeru, tikudziwa kugwiritsa ntchito mawu:

for i in * ; do cp "$i" "/some/path/$i.bak" ; done

Mwachita bwino? Ayi! Bwanji ngati palibe chilichonse m'ndandanda, i.e. globbing sigwira ntchito.

find . -type f -exec mv -v {} dst/{}.bak ;

Mwachita bwino tsopano? Ayi... Mwayiwala zomwe zingakhale mu dzina lafayilo n.

touch x
mv x  "$(printf "foonbar")"
find . -type f -print0 | xargs -0 mv -t /path/to/target-dir

Zida zowunikira mosasunthika

Vuto kuchokera pa sitepe yapitayi likhoza kugwidwa tikayiwala zolembazo, chifukwa ichi pali mankhwala ambiri m'chilengedwe. Shellcheck, pali zambiri, ndipo mwina mutha kupeza linter ya stack yanu pansi pa IDE yanu.

Language
chida

bash
Shellcheck

Ruby
RuboCop

python
Chithunzi

zovuta
Ansible Lint

Kuyesa kwa IaC: Mayeso a Unit

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Monga tawonera kuchokera ku chitsanzo chapitachi, linters sakhala wamphamvu zonse ndipo sangathe kufotokoza madera onse ovuta. Kupitilira apo, pofananiza ndi kuyezetsa pakupanga mapulogalamu, titha kukumbukira mayeso a unit. Apa nthawi yomweyo kubwera m'maganizo shunit, juniti, rspec, pytest. Koma chochita ndi ansible, chef, saltstack ndi ena onga iwo?

Pachiyambi pomwe tinakambirana ZOLIMBIKITSA komanso kuti zomangamanga zathu zikhale ndi njerwa zazing'ono. Nthawi yawo yafika.

  1. Zomangamanga zimagawidwa kukhala njerwa zazing'ono, mwachitsanzo, maudindo a Ansible.
  2. Malo amtundu wina amatumizidwa, kukhala docker kapena VM.
  3. Timagwiritsa ntchito gawo lathu la Ansible kumalo oyesera awa.
  4. Timayang'ana kuti zonse zidayenda monga momwe timayembekezera (timayesa mayeso).
  5. Tikuganiza kuti chabwino kapena ayi.

Kuyesa kwa IaC: Zida Zoyesa Unit

Funso, mayeso a CFM ndi chiyani? Mutha kungoyendetsa script, kapena mutha kugwiritsa ntchito njira zomwe zakonzekera izi:

CFM
chida

Amatha
Testinfra

mutu
Inspect

mutu
Serverspec

mchere
Ziwawa

Chitsanzo cha testinfra, kuyang'ana ogwiritsa ntchito test1, test2 alipo ndipo ali mugulu sshusers:

def test_default_users(host):
    users = ['test1', 'test2' ]
    for login in users:
        assert host.user(login).exists
        assert 'sshusers' in host.user(login).groups

Chosankha? Funsoli ndi lovuta komanso losavuta, nachi chitsanzo cha kusintha kwama projekiti pa github ya 2018-2019:

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Zoyeserera za IaC

Funso limabuka: momwe mungayikitsire zonse pamodzi ndikuyambitsa? Mutha chitengeni ndi kuchichita nokha ngati pali mainjiniya okwanira. Kapena mutha kutenga mayankho okonzekera, ngakhale palibe ambiri aiwo:

CFM
chida

Amatha
Molekuli

mutu
Yoyesera Yoyesera

Terraform
Terrates

Zitsanzo zakusintha kwama projekiti pa github a 2018-2019:

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Molekyu vs. Testkitchen

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Poyamba ife adayesa kugwiritsa ntchito testkitchen:

  1. Pangani VM mogwirizana.
  2. Gwiritsani ntchito maudindo.
  3. Thamangani kuyendera.

Kwa maudindo 25-35 adagwira ntchito mphindi 40-70, zomwe zinali zazitali.

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Gawo lotsatira linali kusintha kwa jenkins/docker/ansible/molecule. Idiologically zonse ndi zofanana

  1. Lembani playbooks.
  2. Lembani maudindo.
  3. Launch chidebe
  4. Gwiritsani ntchito maudindo.
  5. Thamangani testinfra.
  6. Onani kusazindikira.

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Kupanga maudindo 40 ndi mayeso kwa khumi ndi awiri kunayamba kutenga pafupifupi mphindi 15.

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Zomwe mungasankhe zimatengera zinthu zambiri, monga kuchuluka komwe kumagwiritsidwa ntchito, ukadaulo wamagulu, ndi zina. apa aliyense adzisankhira yekha momwe angatsekere funso loyesa Unit

Kuyesa kwa IaC: Mayeso Ophatikiza

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Gawo lotsatira mu piramidi yoyesa zomangamanga lidzakhala mayeso ophatikiza. Ndizofanana ndi mayeso a Unit:

  1. Zomangamanga zimagawidwa kukhala njerwa zazing'ono, mwachitsanzo Ansible maudindo.
  2. Malo amtundu wina amatumizidwa, kukhala docker kapena VM.
  3. Pakuti malo mayeso ntchito ambiri Maudindo oyenera.
  4. Timayang'ana kuti zonse zidayenda monga momwe timayembekezera (timayesa mayeso).
  5. Tikuganiza kuti chabwino kapena ayi.

Mwachidule, sitiyang'ana momwe magwiridwe antchito amagwirira ntchito pamayeso amtundu uliwonse, timayang'ana momwe seva imapangidwira yonse.

Kuyesa kwa IaC: Kutha Kumaliza Mayesero

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Pamwamba pa piramidi timalandira moni ndi mayeso a End to End. Iwo. Sitimayang'ana momwe seva ina ikuyendera, zolemba zina, kapena njerwa yosiyana ya zomangamanga zathu. Timayang'ana kuti ma seva ambiri alumikizidwa palimodzi, zomangamanga zathu zimagwira ntchito momwe timayembekezera. Tsoka ilo, sindinawonepo mayankho okonzeka opangidwa ndi bokosi, mwina chifukwa ... Zomangamanga nthawi zambiri zimakhala zapadera komanso zovuta kuzijambula ndikupanga chimango choyesera. Zotsatira zake, aliyense amapanga mayankho ake. Pali chofuna, koma palibe yankho. Chifukwa chake, ndikuwuzani zomwe zilipo kuti ndikankhire ena kuti amveke bwino kapena kusisita mphuno yanga pozindikira kuti zonse zidapangidwa kalekale ife tisanakhalepo.

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Ntchito yokhala ndi mbiri yakale. Amagwiritsidwa ntchito m'mabungwe akuluakulu ndipo mwina aliyense wa inu adadutsana nawo mwanjira ina. Pulogalamuyi imathandizira ma database ambiri, kuphatikiza, ndi zina. Kudziwa momwe zomangamanga zingawonekere ndi mafayilo ambiri a docker-compose, komanso kudziwa kuti ndi mayesero ati omwe angayendere komwe kuli Jenkins.

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Chiwembucho chinagwira ntchito kwa nthawi yayitali, mpaka mkati mwa chimango kafukufuku sitinayesere kusamutsa izi ku Openshift. Zotengerazo zimakhalabe zofanana, koma malo otsegulira asintha (hello DRY kachiwiri).

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Lingaliro la kafukufuku linapita patsogolo, ndipo mu openshift adapeza chinthu monga APB (Ansible Playbook Bundle), yomwe imakulolani kulongedza chidziwitso cha momwe mungagwiritsire ntchito zowonongeka mu chidebe. Iwo. pali chidziwitso chobwerezabwereza, choyesedwa cha momwe mungagwiritsire ntchito zomangamanga.

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Zonsezi zidamveka bwino mpaka tidalowa m'malo osiyanasiyana: timafunikira Windows yoyesa. Zotsatira zake, chidziwitso cha zomwe, komwe, momwe mungatumizire, ndikuyesa zili mu jenkins.

Kutsiliza

Zomwe ndidaphunzira pakuyesa 200 Mizere ya Infrastructure Code

Infrastructure monga Code ili

  • Code mu posungira.
  • Kuyanjana kwa anthu.
  • Mayeso a zomangamanga.

maulalo

Source: www.habr.com

Kuwonjezera ndemanga