Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Fomba iray IaC (Infrastructure as Code) dia tsy ny code izay voatahiry ao amin'ny repository ihany, fa ny olona sy ny dingana manodidina an'io code io ihany koa. Azo atao ve ny mampiasa indray ny fomba fiasa manomboka amin'ny famolavolana rindrambaiko mankany amin'ny fitantanana sy famaritana fotodrafitrasa? Tsara ny mitadidy an'io hevitra io rehefa mamaky ilay lahatsoratra ianao.

English version

Ity dia transcript ny ahy fampisehoana amin'ny DevopsConf 2019-05-28.

Slides sy horonan-tsary

Fotodrafitrasa toy ny tantaran'ny bash

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Aoka hatao hoe tonga amin'ny tetikasa vaovao ianao, ary miteny aminao izy ireo hoe: “Manana izahay Ny fotodrafitrasa toy ny kaody". Raha ny marina dia miseho izany Fotodrafitrasa toy ny tantaran'ny bash na ohatra Documentation ho tantara bash. Tena zava-misy tokoa izany, ohatra, ny tranga mitovy amin'izany nofaritan'i Denis Lysenko tamin'ny lahateny iray Ahoana no hanoloana ny fotodrafitrasa manontolo ary manomboka matory am-pilaminana, notantarainy ny fomba nahazoan'izy ireo fotodrafitrasa mifanaraka amin'ny tetikasa avy amin'ny tantaran'ny bash.

Amin'ny faniriana sasany dia afaka milaza izany isika Fotodrafitrasa toy ny tantaran'ny bash toy ny code ity:

  1. reproducibility: Azonao atao ny maka ny tantaran'ny bash, manatanteraka ny baiko avy any, ary mety, raha ny marina, dia mahazo config miasa ho toy ny vokatra.
  2. versioning: fantatrao hoe iza no niditra ary inona no nataon'izy ireo, indray, tsy zava-misy izany fa hitarika anao amin'ny fanamboarana miasa amin'ny fivoahana izany.
  3. Tantara: ny tantaran'izay nanao inona. ianao ihany no tsy afaka mampiasa azy raha very ny mpizara.

Inona no tokony ataoko?

Ny fotodrafitrasa toy ny kaody

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Na dia tranga hafahafa toy izany aza Fotodrafitrasa toy ny tantaran'ny bash azonao sintonina amin'ny sofina Ny fotodrafitrasa toy ny kaody, fa rehefa te-hanao zavatra sarotra kokoa noho ny mpizara LAMP taloha tsara isika, dia ho tonga amin'ny fanatsoahan-kevitra fa ity kaody ity dia mila ovaina, ovaina, hatsaraina. Manaraka izany dia tiantsika ny handinika ny fitoviana misy eo Ny fotodrafitrasa toy ny kaody ary ny fampivoarana rindrambaiko.

MAINA

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Teo amin'ny tetikasa fampivoarana rafitra fitahirizana dia nisy subtask amboary tsindraindray ny SDS: Mamoaka famoahana vaovao izahay - mila avoaka izy io mba hanaovana fitiliana fanampiny. Tena tsotra ny asa:

  • midira eto amin'ny ssh ary tanteraho ny baiko.
  • kopia ny rakitra ao.
  • ahitsio ny config eto.
  • manomboka ny serivisy any
  • ...
  • MAHASOA!

Ho an'ny lojika voalaza, ny bash dia mihoatra noho ny ampy, indrindra amin'ny dingana voalohan'ny tetikasa, raha vao manomboka izany. izany tsy ratsy ny mampiasa bash, fa rehefa mandeha ny fotoana dia misy ny fangatahana hametraka zavatra mitovy, saingy hafa kely. Ny zavatra voalohany tonga ao an-tsaina dia ny kopia-mametaka. Ary ankehitriny isika dia efa manana script roa tena mitovy izay manao zavatra mitovy. Rehefa nandeha ny fotoana, dia nitombo ny isan'ny script, ary niatrika ny zava-misy izahay fa misy lojikan'ny raharaham-barotra amin'ny fametrahana fametrahana izay mila ampifandraisina amin'ny script samihafa, sarotra be izany.

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Hita fa misy fomba fanao toy ny DRAY (Aza mamerina ny tenanao). Ny hevitra dia ny hampiasa indray ny code efa misy. Toa tsotra izany, saingy tsy tonga tamin'izany avy hatrany izahay. Raha ny zava-misy anay dia hevi-diso fotsiny izany: hanasaraka ny configs amin'ny script. Ireo. ny lojikan'ny fandraharahana momba ny fametrahana ny fametrahana misaraka, configs misaraka.

SOLID ho an'ny CFM

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Rehefa nandeha ny fotoana dia nitombo ny tetikasa ary fitohizana voajanahary dia ny firongatry ny Ansible. Ny antony lehibe amin'ny fisehoany dia ny fisian'ny fahaiza-manao ao amin'ny ekipa ary ny bash dia tsy natao ho an'ny lojika sarotra. Nanomboka nisy lojika sarotra ihany koa i Ansible. Mba hisorohana ny lojika sarotra tsy hivadika ho korontana dia misy ny fitsipiky ny fandaminana kaody amin'ny fampivoarana rindrambaiko mafy Ary koa, ohatra, Grigory Petrov ao amin'ny tatitra "Nahoana ny manam-pahaizana momba ny IT mila marika manokana" dia nametraka ny fanontaniana hoe ny olona iray dia natao amin'ny fomba izay mora kokoa ho azy ny miasa amin'ny sampana ara-tsosialy sasany, amin'ny fampandrosoana ny rindrambaiko. dia zavatra. Raha manambatra ireo hevitra roa ireo isika ary manohy mampivelatra azy ireo, dia ho hitantsika fa azontsika ampiasaina koa mafy mba hanamora ny fitazonana sy fanovana izany lojika izany amin'ny ho avy.

Ny fitsipiky ny andraikitra tokana

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ny kilasy tsirairay dia tsy manao afa-tsy asa iray.

Tsy ilaina ny mampifangaro kaody ary manao biby goavam-be spaghetti monolithic. Ny fotodrafitrasa dia tokony ahitana biriky tsotra. Hita fa raha zarainao kely ny boky Ansible, dia vakio ny anjara asan'ny Ansible, dia mora kokoa ny mitazona azy ireo.

Ny fitsipika misokatra misokatra

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Fitsipika misokatra / mihidy.

  • Misokatra amin'ny fanitarana: midika fa ny fitondran-tenan'ny orinasa iray dia azo itarina amin'ny famoronana karazana enti-manana vaovao.
  • Mikatona amin'ny fanovana: Noho ny fanitarana ny fitondran-tenan'ny orinasa iray, dia tsy tokony hisy fanovana atao amin'ny kaody mampiasa ireo sampana ireo.

Tamin'ny voalohany dia nametraka ny fotodrafitrasa fitsapana amin'ny milina virtoaly izahay, saingy noho ny zava-misy fa ny lojika fandraharahana amin'ny fametrahana dia misaraka amin'ny fampiharana, dia nampidirinay ny fandefasana ny baremetall tsy misy olana.

Ny fitsipiky ny fanoloana Liskov

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ny fitsipiky ny fanoloana an'i Barbara Liskov. Ny zavatra ao amin'ny programa dia tsy maintsy azo soloina amin'ny ohatra amin'ny subtypes raha tsy manova ny fanatanterahana marina ny programa

Raha jerena amin'ny ankapobeny dia tsy singa iray amin'ny tetikasa manokana azo ampiharina ao mafy, amin'ny ankapobeny dia momba ny CFM izany, ohatra, amin'ny tetikasa hafa dia ilaina ny mametraka fampiharana Java misy boaty eo ambonin'ny Java isan-karazany, lohamilina fampiharana, database, OS, sns. Amin'ny fampiasana an'io ohatra io, dia handinika fitsipika fanampiny aho mafy

Aminay dia misy fifanarahana eo anivon'ny ekipan'ny fotodrafitrasa fa raha nametraka ny anjara imbjava na oraclejava izahay dia manana java binary executable. Ilaina izany satria Miankina amin'io fihetsika io ny andraikitra ambony; Amin'izay fotoana izay ihany koa dia ahafahantsika manolo ny fampiharana/dikan-teny java iray amin'ny iray hafa nefa tsy manova ny lojika fametrahana fampiharana.

Ny olana eto dia ny hoe tsy azo atao ny mampihatra izany ao amin'ny Ansible, ka misy ny fifanarahana miseho ao anatin'ny ekipa.

The Interface Segregation Principle

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Fitsipika fisarahana amin'ny interface: "Ny interface tsara ho an'ny mpanjifa maro no tsara kokoa noho ny interface iray amin'ny tanjona ankapobeny.

Tamin'ny voalohany dia niezaka ny hametraka ny fiovaovan'ny fampiharana fampiharana ho an'ny Ansible playbook iray izahay, saingy sarotra ny nanohana, ary ny fomba fiasa rehefa manana interface ivelany voatondro izahay (ny mpanjifa dia manantena ny seranan-tsambo 443), dia azo amboarina ny fotodrafitrasa avy amin'ny tsirairay. biriky ho an'ny fampiharana manokana.

Ny fitsipiky ny fiankinan-doha

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ny fitsipiky ny fiankinan-doha inversion. Ny modules amin'ny ambaratonga ambony dia tsy tokony hiankina amin'ny modules amin'ny ambaratonga ambany. Ireo karazana modules roa ireo dia tsy maintsy miankina amin'ny abstractions. Tsy tokony hiankina amin'ny antsipiriany ny abstraction. Ny antsipiriany dia tsy maintsy miankina amin'ny abstractions.

Eto ny ohatra dia hiorina amin'ny antipattern.

  1. Ny iray tamin'ireo mpanjifa dia nanana rahona manokana.
  2. Nanafatra milina virtoaly tao anaty rahona izahay.
  3. Saingy noho ny toetran'ny rahona dia nifamatotra tamin'ny hypervisor misy ny VM ny fametrahana fampiharana.

Ireo. Ny lojika fametrahana fampiharana avo lenta dia nikoriana niaraka tamin'ny fiankinan-doha mankany amin'ny ambaratonga ambany kokoa amin'ny hypervisor, ary izany dia midika olana rehefa mampiasa indray io lojika io. Aza manao toy izany.

fifandraisana

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ny fotodrafitrasa amin'ny maha-code dia tsy momba ny code ihany, fa momba ny fifandraisan'ny code sy ny olona, ​​​​ny fifandraisana eo amin'ny mpamorona fotodrafitrasa.

Antony fiara fitateram-bahoaka

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Aoka hatao hoe manana Vasya amin'ny tetikasanao ianao. Fantatr'i Vasya ny zava-drehetra momba ny fotodrafitrasao, inona no hitranga raha manjavona tampoka i Vasya? Tena zava-misy io, satria mety ho voadonan'ny fiara fitateram-bahoaka izy. Indraindray dia mitranga izany. Raha mitranga izany ary tsy zaraina amin'ny ekipa ny fahalalana momba ny code, ny firafiny, ny fomba fiasa, ny fisehoana ary ny tenimiafina, dia mety hahita toe-javatra tsy mahafinaritra ianao. Mba hanamaivanana ireo risika ireo sy hizarana fahalalana ao anatin'ny ekipa dia azonao atao ny mampiasa fomba fiasa isan-karazany

Pair Devopsing

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Tsy toy izany ho vazivazy, fa nisotro labiera ny admin, nanova tenimiafina, ary fandaharana mitovy amin'ny mpivady. Ireo. injeniera roa no mipetraka eo amin'ny solosaina iray, klavier iray ary manomboka manangana fotodrafitrasa miaraka aminao: manangana mpizara, manoratra anjara Ansible, sns. Toa mahafinaritra izany, saingy tsy nandaitra taminay. Nandaitra anefa ireo tranga manokana tamin’io fanao io. Tonga ny mpiasa vaovao, miara-miasa aminy ny mpanoro hevitra azy, miasa sy mamindra fahalalana.

Tranga manokana iray hafa ny fiantsoana tranga. Mandritra ny olana iray dia mivondrona ny vondron'ireo miasa sy ireo voarohirohy, mpitarika iray no voatendry, izay mizara ny efijery ary mamoaka ny eritreritra. Ny mpandray anjara hafa dia manaraka ny eritreritr'ny mpitarika, mitsikilo ny fika avy amin'ny console, manamarina fa tsy misy tsipika iray ao amin'ny log izy ireo, ary mianatra zava-baovao momba ny rafitra. Io fomba fiasa io dia niasa matetika kokoa noho ny tsy.

Famerenana fehezan-dalàna

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Amin'ny ankapobeny, nandaitra kokoa ny fanaparitahana fahalalana momba ny fotodrafitrasa sy ny fomba fiasany amin'ny alàlan'ny famerenana ny code:

  • Ny fotodrafitrasa dia faritana amin'ny code ao amin'ny tahiry.
  • Mitranga amina sampana mitokana ny fiovana.
  • Mandritra ny fangatahana fampiraisana dia azonao jerena ny delta ny fiovan'ny fotodrafitrasa.

Nisongadina teto ny nisafidianana ireo mpandinika, araka ny fandaharam-potoana, izany hoe. miaraka amin'ny ambaratonga mety hiakatra amin'ny fotodrafitrasa vaovao ianao.

Code Style

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Rehefa nandeha ny fotoana dia nanomboka nipoitra ny fifanolanana nandritra ny famerenana, satria ... Ny mpandinika dia nanana ny fombany manokana ary ny fihodinan'ny mpandinika dia nanangona azy ireo tamin'ny endrika samihafa: 2 na 4, camelCase na snake_case. Tsy azo natao avy hatrany izany.

  • Ny hevitra voalohany dia ny nanoro hevitra ny fampiasana linter, raha ny marina, ny rehetra dia injeniera, ny rehetra dia manan-tsaina. Saingy tsy mety ny mpanonta samihafa, OS
  • Nivadika ho bot izany izay nanoratra mba hihena ho an'ny fanerena olana tsirairay ary napetaka ny famoahana linter. Saingy amin'ny ankamaroan'ny toe-javatra dia nisy zavatra manan-danja kokoa tokony hatao ary ny kaody dia mbola tsy voalamina.

Maitso Build Master

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Nandeha ny fotoana, ary tonga amin'ny fanatsoahan-kevitra isika fa ny fanoloran-tena tsy mandalo fitsapana sasany dia tsy azo avela hiditra amin'ny tompony. Voila! Namorona Green Build Master izahay, izay efa nampiharina tamin'ny famolavolana rindrambaiko hatry ny ela:

  • Mandeha ny fampandrosoana amina sampana mitokana.
  • Mandeha ny fitsapana amin'ity lohahevitra ity.
  • Raha tsy mahomby ny fitsapana dia tsy hiditra ao amin'ny master ny code.

Nampalahelo tokoa ny nandray izany fanapahan-kevitra izany, satria... niteraka resabe be dia be, saingy mendrika izany, satria... Ny hevitra dia nanomboka nahazo fangatahana fampivondronana tsy misy fahasamihafana amin'ny fomba, ary rehefa nandeha ny fotoana dia nanomboka nihena ny isan'ny faritra misy olana.

IaC Testing

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ho fanampin'ny fanaraha-maso ny fomba, azonao atao ny mampiasa zavatra hafa, ohatra, mba hanamarinana fa afaka miparitaka tokoa ny fotodrafitrasao. Na jereo fa tsy hiteraka fatiantoka ny fanovana fotodrafitrasa. Nahoana no ilaina izany? Sarotra sy filôzôfika ny fanontaniana, tsara kokoa ny mamaly amin'ny tantara iray fa nisy auto-scaler tao amin'ny Powershell izay tsy nanamarina ny fepetran'ny sisintany => betsaka kokoa ny VM noforonina noho ny ilaina => nandany vola bebe kokoa noho ny nomanina ny mpanjifa. Tsy dia mahafinaritra loatra izany, saingy azo atao tsara ny misambotra an'io fahadisoana io amin'ny dingana teo aloha.

Mety hisy hanontany hoe, nahoana no vao mainka sarotra kokoa ny fotodrafitrasa sarotra? Ny fitsapana ho an'ny fotodrafitrasa, toy ny kaody, dia tsy momba ny fanatsorana, fa momba ny fahafantarana ny fomba fiasan'ny fotodrafitrasao.

IaC Testing Pyramid

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

IaC Testing: Static Analysis

Raha mametraka ny fotodrafitrasa manontolo indray mandeha ianao ary manamarina fa miasa izy io, dia mety ho hitanao fa mila fotoana be izany ary mitaky fotoana be. Noho izany, ny fototra dia tsy maintsy ho zavatra izay miasa haingana, be dia be izany, ary mandrakotra be dia be ny toerana voalohany.

Bash dia sarotra

Andeha isika hijery ohatra tsy misy dikany. safidio ny rakitra rehetra ao amin'ny lahatahiry ankehitriny ary kopia any amin'ny toerana hafa. Ny zavatra voalohany tonga ao an-tsaina:

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

Ahoana raha misy toerana ao amin'ny anaran'ny rakitra? Eny ary, hendry izahay, mahay mampiasa teny nalaina:

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

Vita tsara? Tsia! Ahoana raha tsy misy na inona na inona ao amin'ny lahatahiry, i.e. tsy mandeha ny globbing.

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

Tsara izao? Tsia... Adino izay mety ho ao amin'ny anaran-drakitra n.

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

Fitaovana famakafakana static

Ny olana amin'ny dingana teo aloha dia mety ho tratra rehefa adinontsika ny teny nindramina, noho izany dia misy fanafody maro eo amin'ny natiora. Shellcheck, amin'ny ankapobeny dia maro izy ireo, ary azo inoana fa afaka mahita linter ho an'ny stack ianao eo ambanin'ny IDE.

fiteny
fitaovana

bash
Shellcheck

Ruby
RuboCop

Python
Pylint

azo atao
Ansible Lint

Fitsapana IaC: Fitsapana vondrona

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Araka ny hitantsika tamin'ny ohatra teo aloha, ny linters dia tsy manam-pahefana ary tsy afaka manondro ny faritra misy olana rehetra. Fanampin'izay, amin'ny alàlan'ny fanoharana amin'ny fitsapana amin'ny fampivoarana rindrambaiko, azontsika atao ny mitadidy ny fitsapana unit. Ny tonga ao an-tsaina avy hatrany dia sunit, junit, rspec, pytest. Fa inona no hatao amin'ny ansible, chef, saltstack ary ny hafa mitovy aminy?

Tany am-piandohana dia niresaka momba izany izahay mafy ary ny fotodrafitrasantsika dia tokony ahitana biriky kely. Tonga ny fotoan'izy ireo.

  1. Ny fotodrafitrasa dia mizara ho biriky kely, ohatra, Ansible roles.
  2. Misy karazana tontolo iainana apetraka, na docker na VM.
  3. Mampihatra ny anjarantsika Ansible amin'ity tontolo fitsapana ity.
  4. Hamarininay fa mandeha araka ny nantenainay ny zava-drehetra (manao fitsapana izahay).
  5. Manapa-kevitra isika hoe mety na tsia.

Fitsapana IaC: Fitaovana fitiliana unit

Fanontaniana, inona ny fitsapana ho an'ny CFM? Azonao atao ny mampandeha fotsiny ny script, na azonao atao ny mampiasa vahaolana efa vita ho an'ity:

CFM
fitaovana

Ansible
Testinfra

lohany
Inspec

lohany
Serverspec

saltstack
Fifosa

Ohatra ho an'ny testinfra, manamarina fa mpampiasa test1, test2 misy ary ao anaty vondrona 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

Inona no hofidiana? Sarotra sy manjavozavo ny fanontaniana, ity misy ohatra iray amin'ny fiovan'ny tetikasa amin'ny github ho an'ny 2018-2019:

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

IaC Testing frameworks

Mipetraka ny fanontaniana hoe: ahoana no fomba hanangonana azy rehetra sy hanombohana azy? afaka raiso ary ataovy ny tenanao raha ampy ny isan'ny injeniera. Na azonao atao ny maka vahaolana efa vita, na dia tsy dia maro loatra aza izy ireo:

CFM
fitaovana

Ansible
molekiola

lohany
Test Kitchen

Terraform
Terratest

Ohatra amin'ny fanovana tetikasa amin'ny github ho an'ny 2018-2019:

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Molecule vs. Testkitchen

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Tamin'ny voalohany isika nanandrana nampiasa testkitchen:

  1. Mamorona VM mifanitsy.
  2. Ampiharo ny anjara asan'ny Ansible.
  3. Manao fisafoana.

Ho an'ny anjara 25-35 dia niasa 40-70 minitra, izay lava.

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ny dingana manaraka dia ny fifindrana mankany jenkins/docker/ansible/molecule. Amin'ny fomba fiteny dia mitovy daholo ny zava-drehetra

  1. Lit playbooks.
  2. Laharana ny andraikitra.
  3. Alefaso ny kaontenera
  4. Ampiharo ny anjara asan'ny Ansible.
  5. Manaova testinfra.
  6. Jereo ny idépotency.

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Nanomboka naharitra 40 minitra teo ho eo ny fanaovana litting ho an'ny anjara 15 sy fitsapana ho an'ny ampolony.

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ny zavatra hofidiana dia miankina amin'ny lafin-javatra maro, toy ny stack ampiasaina, ny fahaiza-manao eo amin'ny ekipa, sns. eto ny tsirairay dia manapa-kevitra ho azy ny fomba hanakatona ny fanontaniana fitsapana Unit

Fitsapana IaC: Fitsapana fampidirana

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Ny dingana manaraka amin'ny piramida fitsapana fotodrafitrasa dia ny fitsapana fampidirana. Mitovy amin'ny fitsapana Unit izy ireo:

  1. Mizara biriky kely ny fotodrafitrasa, ohatra ny Ansible roles.
  2. Misy karazana tontolo iainana apetraka, na docker na VM.
  3. Ho an'ity tontolo fitsapana ity dia mihatra Set of Ansible andraikitra.
  4. Hamarininay fa mandeha araka ny nantenainay ny zava-drehetra (manao fitsapana izahay).
  5. Manapa-kevitra isika hoe mety na tsia.

Amin'ny ankapobeny, tsy manamarina ny fahombiazan'ny singa tsirairay ao amin'ny rafitra izahay toy ny amin'ny fitsapana unit, manamarina ny fomba fametrahana ny server amin'ny ankapobeny.

Fitsapana IaC: Fitsapana faran'ny farany

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Eo an-tampon'ny piramida dia miarahaba antsika amin'ny fitsapana End to End. Ireo. Tsy manara-maso ny fahombiazan'ny mpizara mitokana, script mitokana, na biriky mitokana amin'ny fotodrafitrasanay izahay. Manamarina izahay fa maro ny mpizara mifandray, ny fotodrafitrasa miasa araka ny nantenainay. Indrisy anefa fa tsy mbola nahita vahaolana vita amin'ny boaty efa vonona aho, angamba noho ... Ny fotodrafitrasa dia matetika tsy manam-paharoa ary sarotra ny mamolavola ary mamorona rafitra ho an'ny fitsapana. Vokany, samy mamorona ny vahaolana ho azy ny tsirairay. Misy ny fitakiana fa tsy misy valiny. Noho izany, holazaiko aminao izay misy mba hanosehana ny hafa hieritreritra na hanosotra ny orona amin'ny zava-misy fa ny zava-drehetra dia noforonina taloha ela be.

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Tetikasa manana tantara manankarena. Ampiasaina amin'ny fikambanana lehibe izy io ary angamba samy efa niampita ankolaka tamin'izany ianareo. Ny fampiharana dia manohana angon-drakitra maro, fampidirana, sns. Ny fahafantarana ny mety ho endriky ny fotodrafitrasa dia be dia be ny docker-compose rakitra, ary ny fahafantarana hoe inona ny fitsapana hatao amin'ny tontolo misy an'i Jenkins.

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Niasa nandritra ny fotoana ela io tetika io, mandra-pahatongan'ny rafitra fikarohana tsy nanandrana namindra izany tamin'ny Openshift izahay. Tsy miova ny kaontenera, fa niova ny tontolo fandefasana (miarahaba DRY indray).

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Nandeha lavidavitra kokoa ny hevitra fikarohana, ary tamin'ny fisokafana dia nahita zavatra toy ny APB (Ansible Playbook Bundle) izy ireo, izay ahafahanao manangona fahalalana momba ny fametrahana fotodrafitrasa ao anaty container. Ireo. misy ny fahalalana azo averina, azo andrana amin'ny fametrahana ny fotodrafitrasa.

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Toa tsara izany rehetra izany mandra-pahatonganay tany amin'ny fotodrafitrasa samihafa: mila Windows izahay hanaovana fitsapana. Vokatr'izany dia ao amin'ny jenkins ny fahalalana momba ny inona, ny toerana, ny fomba fametrahana ary ny fitsapana.

Famaranana

Ny zavatra nianarako tamin'ny fitsapana 200 andalana amin'ny fehezan-dalàna momba ny fotodrafitrasa

Fotodrafitrasa toy ny Code

  • Code ao amin'ny repository.
  • Fifandraisana amin'ny olombelona.
  • Fitsapana fotodrafitrasa.

rohy

Source: www.habr.com

Add a comment