Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Dòigh-obrach IaC (Bun-structar mar Chòd) a’ toirt a-steach chan e a-mhàin an còd a tha air a stòradh san stòr, ach cuideachd na daoine agus na pròiseasan a tha timcheall air a’ chòd seo. A bheil e comasach dòighean-obrach ath-chleachdadh bho leasachadh bathar-bog gu stiùireadh bun-structair agus tuairisgeul? Bhiodh e na dheagh bheachd am beachd seo a chumail nad inntinn fhad ‘s a tha thu a’ leughadh an artaigil.

Dreach Beurla

Seo tar-sgrìobhadh dhe mo chuid cuirmean air DevopsConf 2019-05-28.

Sleamhnagan agus bhideothan

Bun-structair mar eachdraidh bash

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Seach gun tig thu gu pròiseact ùr, agus gu bheil iad ag innse dhut: “Tha againn Bun-structar mar Chòd". Ann an da-rìribh tha e a 'tionndadh a-mach Bun-structair mar eachdraidh bash no mar eisimpleir Sgrìobhainnean mar eachdraidh bash. Is e suidheachadh fìor a tha seo, mar eisimpleir, chaidh cùis coltach ris a mhìneachadh le Denis Lysenko ann an òraid Mar a chuireas tu am bun-structar gu lèir an àite agus tòiseachadh air cadal gu math, dh'innis e mar a fhuair iad bun-structar ciallach airson a 'phròiseict bho eachdraidh bash.

Le beagan miann, faodaidh sinn sin a ràdh Bun-structair mar eachdraidh bash tha seo coltach ri còd:

  1. ath-ghin: Faodaidh tu eachdraidh bash a ghabhail, ruith na h-òrdughan às an sin, agus is dòcha gum faigh thu, co-dhiù, rèiteachadh obrach mar thoradh.
  2. dreach: tha fios agad cò thàinig a-steach agus dè rinn iad, a-rithist, chan eil e na fhìrinn gun toir seo thu gu rèiteachadh obrach aig an t-slighe a-mach.
  3. eachdraidh: an sgeul cò rinn dè. dìreach chan urrainn dhut a chleachdadh ma chailleas tu am frithealaiche.

Dè bu chòir dhomh a dhèanamh?

Bun-structar mar Chòd

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Fiù 's a leithid de chùis annasach Bun-structair mar eachdraidh bash faodaidh tu a tharraing le do chluasan Bun-structar mar Chòd, ach nuair a tha sinn airson rudeigin nas iom-fhillte a dhèanamh na an t-seann fhrithealaiche LAMP math, thig sinn chun cho-dhùnadh gum feum an còd seo atharrachadh, atharrachadh, leasachadh dòigh air choireigin. An ath rud bu mhath leinn beachdachadh air na co-shìntean eadar Bun-structar mar Chòd agus leasachadh bathar-bog.

D.R.Y.

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Air pròiseact leasachaidh siostam stòraidh, bha fo-obair ann rèiteachadh SDS bho àm gu àm: tha sinn a’ cur a-mach brath ùr - feumar a sgaoileadh a-mach airson tuilleadh dheuchainnean. Tha an obair gu math sìmplidh:

  • log a-steach an seo tro ssh agus cuir an gnìomh an àithne.
  • dèan lethbhreac dhen fhaidhle an sin.
  • ceartaich an config an seo.
  • tòiseachadh air an t-seirbheis an sin
  • ...
  • BRATHADH!

Airson an loidsig a chaidh a mhìneachadh, tha bash nas motha na gu leòr, gu sònraichte anns na tràth ìrean den phròiseact, nuair a tha e dìreach a ’tòiseachadh. Seo chan eil e dona gun cleachd thu bash, ach thar ùine tha iarrtasan ann airson rudeigin coltach ris, ach beagan eadar-dhealaichte a chleachdadh. Is e a’ chiad rud a thig gu inntinn copy-paste. Agus a-nis tha dà sgriobt glè choltach againn mu thràth a nì cha mhòr an aon rud. Thar ùine, dh'fhàs an àireamh de sgriobtaichean, agus bha sinn nar n-aghaidh gu bheil loidsig gnìomhachais sònraichte ann airson stàladh a chleachdadh a dh'fheumas a bhith air a shioncronachadh eadar diofar sgriobtaichean, tha seo gu math toinnte.

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Tha e a 'tionndadh a-mach gu bheil a leithid de chleachdadh mar D.R.Y. (Na dèan a-rithist thu fhèin). Is e am beachd an còd a th’ ann mar-thà ath-chleachdadh. Tha e coltach gu bheil e sìmplidh, ach cha tàinig sinn gu seo sa bhad. Anns a ’chùis againn, b’ e beachd banal a bh ’ann: configs a sgaradh bho sgriobtaichean. An fheadhainn sin. loidsig gnìomhachais air mar a tha an stàladh air a chleachdadh air leth, a’ rèiteachadh air leth.

S.O.L.I.D. airson CFM

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Thar ùine dh'fhàs am pròiseact agus leantainneachd nàdarrach b'e teachd Ansible. Is e am prìomh adhbhar airson a choltas gu bheil eòlas air an sgioba agus nach eil bash air a dhealbhadh airson loidsig iom-fhillte. Thòisich Ansible cuideachd a’ toirt a-steach loidsig iom-fhillte. Gus casg a chuir air loidsig iom-fhillte bho bhith a’ tionndadh gu caos, tha prionnsapalan ann airson còd a chuir air dòigh ann an leasachadh bathar-bog S.O.L.I.D. Cuideachd, mar eisimpleir, thog Grigory Petrov anns an aithisg “Carson a tha feum aig eòlaiche IT air brannd pearsanta” a ’cheist gu bheil neach air a dhealbhadh ann an dòigh a tha e nas fhasa dha a bhith ag obair le cuid de bhuidhnean sòisealta, ann an leasachadh bathar-bog iad sin. nan nithean. Ma chuireas sinn an dà bheachd seo còmhla agus ma chumas sinn gan leasachadh, mothaichidh sinn gun urrainn dhuinn an cleachdadh cuideachd S.O.L.I.D. gus a dhèanamh nas fhasa an loidsig seo a chumail suas agus atharrachadh san àm ri teachd.

Am Prionnsapal Uallach Singilte

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Chan eil gach clas a’ coileanadh ach aon obair.

Cha bhith feum air còd a mheasgachadh agus uilebheistean spaghetti diadhaidh monolithic a dhèanamh. Bu chòir don bhun-structair a bhith air a dhèanamh suas de bhreigichean sìmplidh. Tha e a 'tionndadh a-mach ma roinneas tu an leabhar-cluiche Ansible ann am pìosan beaga, leugh dreuchdan Ansible, tha iad nas fhasa an cumail suas.

Am Prionnsapal Dùinte Fosgailte

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Prionnsabal fosgailte / dùinte.

  • Fosgailte do leudachadh: a’ ciallachadh gun gabh giùlan eintiteas a leudachadh le bhith a’ cruthachadh seòrsaichean eintiteas ùra.
  • Dùinte ri atharrachadh: Mar thoradh air giùlan eintiteas a leudachadh, cha bu chòir atharrachaidhean sam bith a dhèanamh air a’ chòd a chleachdas na buidhnean sin.

An toiseach, chuir sinn a-steach am bun-structar deuchainn air innealan brìgheil, ach air sgàth gu robh loidsig cleachdadh gnìomhachais eadar-dhealaichte bhon bhuileachadh, chuir sinn ris a ’sgaoileadh a-mach gu baremetall gun duilgheadas sam bith.

Prionnsabal ionadachadh Liskov

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Prionnsabal ionadachadh Barbara Liskov saor an asgaidh. feumaidh nithean ann am prògram a bhith air an cur nan àite le eisimpleirean de na subtypes aca gun a bhith ag atharrachadh coileanadh ceart a’ phrògraim

Ma choimheadas tu air nas fharsainge, chan eil e na fheart de phròiseact sònraichte sam bith a ghabhas a chuir an sàs ann S.O.L.I.D., mar as trice tha e mu dheidhinn CFM, mar eisimpleir, air pròiseact eile feumar tagradh Java bogsaichte a chuir a-steach air mullach diofar Java, frithealaichean tagraidh, stòran-dàta, OS, msaa. A’ cleachdadh an eisimpleir seo, beachdaichidh mi air tuilleadh phrionnsapalan S.O.L.I.D.

Anns a ’chùis againn, tha aonta taobh a-staigh an sgioba bun-structair ma tha sinn air an dreuchd imbjava no oraclejava a chuir a-steach, gum bi gnìomh binary java againn a ghabhas coileanadh. Tha seo riatanach air sgàth Tha dreuchdan shuas an abhainn an urra ris a’ ghiùlan seo; tha iad an dùil java. Aig an aon àm, leigidh seo leinn aon bhuileachadh / dreach java a chuir an àite fear eile gun a bhith ag atharrachadh loidsig cleachdadh an tagraidh.

Is e an duilgheadas an seo gu bheil e do-dhèanta seo a chuir an gnìomh ann an Ansible, agus mar thoradh air an sin tha cuid de aontaidhean a ’nochdadh taobh a-staigh na sgioba.

Am Prionnsabal Sgaraidh Eadar-aghaidh

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Prionnsabal dealachaidh eadar-aghaidh: “Tha mòran de eadar-aghaidh a tha sònraichte do luchd-cleachdaidh nas fheàrr na aon eadar-aghaidh adhbhar coitcheann.

An toiseach, dh’ fheuch sinn ris a h-uile caochlaideachd ann an cleachdadh tagraidh a chuir ann an aon leabhar-cluiche Ansible, ach bha e duilich taic a thoirt dha, agus an dòigh-obrach nuair a tha eadar-aghaidh taobh a-muigh againn air a shònrachadh (tha an neach-dèiligidh an dùil port 443), an uairsin faodar bun-structar a chruinneachadh bho neach fa leth. bricichean airson buileachadh sònraichte.

Prionnsabal an tionndaidh an eisimeil

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Prionnsabal tionndadh eisimeileachd. Cha bu chòir modalan aig ìrean nas àirde a bhith an urra ri modalan aig ìrean nas ìsle. Feumaidh an dà sheòrsa de mhodalan a bhith an urra ri tarraing às. Cha bu chòir tarraing-às a bhith an urra ri mion-fhiosrachadh. Feumaidh mion-fhiosrachadh a bhith an urra ri tarraing às.

An seo bidh an eisimpleir stèidhichte air antipattern.

  1. Bha sgòth prìobhaideach aig aon den luchd-ceannach.
  2. Dh ’òrduich sinn innealan brìgheil taobh a-staigh an sgòth.
  3. Ach air sgàth nàdar an sgòth, bha cleachdadh an tagraidh ceangailte ris an hypervisor air an robh an VM.

An fheadhainn sin. Bha loidsig cleachdadh tagraidh àrd-ìre a’ sruthadh le eisimeileachd gu ìrean nas ìsle den hypervisor, agus bha seo a’ ciallachadh duilgheadasan nuair a bhathar ag ath-chleachdadh an loidsig seo. Na dèan mar seo.

Eadar-obrachadh

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Tha bun-structar mar chòd chan ann a-mhàin mu chòd, ach cuideachd mun dàimh eadar còd agus daoine, mu eadar-obrachadh eadar luchd-leasachaidh bun-structair.

Factor bus

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Gabhamaid ris gu bheil Vasya agad sa phròiseact agad. Tha fios aig Vasya air a h-uile dad mun bhun-structar agad, dè a thachras ma thèid Vasya à sealladh gu h-obann? Is e suidheachadh fìor dha-rìribh a tha seo, oir dh’ fhaodadh e a bhith air a bhualadh le bus. Uaireannan bidh e a 'tachairt. Ma thachras seo agus nach eil eòlas air a 'chòd, a structar, mar a tha e ag obair, coltas agus faclan-faire air a sgaoileadh am measg an sgioba, is dòcha gum bi thu a' tighinn tarsainn air grunn shuidheachaidhean mì-thlachdmhor. Gus na cunnartan sin a lughdachadh agus eòlas a sgaoileadh taobh a-staigh na sgioba, faodaidh tu diofar dhòighean-obrach a chleachdadh

Paidhir devopsing

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Chan eil e coltach mar fealla-dhà, gun do dh'òl an luchd-rianachd lionn, gun do dh'atharraich iad faclan-faire, agus gun robh analogue de phrògramadh paidhir. An fheadhainn sin. bidh dà innleadair a’ suidhe sìos aig aon choimpiutair, aon mheur-chlàr agus a’ tòiseachadh a’ stèidheachadh do bhun-structair còmhla: a’ stèidheachadh frithealaiche, a’ sgrìobhadh dreuchd Ansible, msaa. Tha e a’ faireachdainn snog, ach cha do dh’obraich e dhuinn. Ach dh'obraich cùisean sònraichte den chleachdadh seo. Bidh neach-obrach ùr a 'tighinn, bidh an comhairliche aige a' gabhail os làimh fìor obair còmhla ris, ag obair agus a 'gluasad eòlas.

Is e cùis shònraichte eile gairm tachartas. Rè duilgheadas, bidh buidheann den fheadhainn a tha air dleasdanas agus an fheadhainn a tha an sàs a 'cruinneachadh, tha aon stiùiriche air a chur an dreuchd, a bhios a' roinn a sgrion agus a 'toirt guth air an trèanadh smaoineachaidh. Bidh com-pàirtichean eile a’ leantainn smuaintean an stiùiriche, a’ spionadh air cleasan bhon chonsail, a’ dèanamh cinnteach nach do chaill iad loidhne san loga, agus ag ionnsachadh rudan ùra mun t-siostam. Dh'obraich an dòigh-obrach seo nas trice na chan e.

Ath-sgrùdadh Còd

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Gu cuspaireil, bha e na b’ èifeachdaiche eòlas a sgaoileadh mun bhun-structar agus mar a tha e ag obair a’ cleachdadh ath-sgrùdadh còd:

  • Tha am bun-structar air a mhìneachadh le còd anns an stòr.
  • Bidh atharrachaidhean a 'tachairt ann am meur air leth.
  • Rè iarrtas co-aonaidh, chì thu delta atharrachaidhean sa bhun-structair.

B’ e an rud as cudromaiche an seo gun deach an luchd-sgrùdaidh a thaghadh aon às deidh aon, a rèir clàr-ama, i.e. le beagan coltachd dìridh tu gu pìos bun-structair ùr.

stoidhle còd

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Thar ùine, thòisich squabbles a’ nochdadh ann an lèirmheasan, oir ... bha an stoidhle fhèin aig ath-sgrùdairean agus bha cuairteachadh luchd-sgrùdaidh gan cruachadh le diofar stoidhlichean: 2 àite no 4, camelCase no snake_case. Cha robh e comasach seo a chuir an gnìomh sa bhad.

  • B ’e a’ chiad bheachd a bhith a ’moladh cleachdadh linter, às deidh a h-uile càil, tha a h-uile duine na innleadair, tha a h-uile duine spaideil. Ach chan eil luchd-deasachaidh eadar-dhealaichte, OS, goireasach
  • Dh'fhàs seo gu bhith na bhot a sgrìobh gu slack airson gach gealladh trioblaideach agus a cheangail an toradh lìnidh. Ach sa mhòr-chuid de chùisean bha rudan nas cudromaiche ri dhèanamh agus bha an còd fhathast gun atharrachadh.

Maighstir Togail Uaine

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Tha ùine a’ dol seachad, agus tha sinn air tighinn chun cho-dhùnadh nach gabh geallaidhean nach tèid seachad air deuchainnean sònraichte a leigeil a-steach don mhaighstir. Voila! Dh’innlich sinn Green Build Master, a tha air a bhith ag obair ann an leasachadh bathar-bog airson ùine mhòr:

  • Tha leasachadh a’ dol air adhart ann am meur air leth.
  • Tha deuchainnean a’ ruith air an t-snàthainn seo.
  • Ma dh’ fhailicheas na deuchainnean, cha dèan an còd a-steach don mhaighstir.

Bha e gu math goirt an co-dhùnadh seo a dhèanamh, oir ... tòrr connspaid adhbhrachadh, ach b’ fhiach e e, oir... Thòisich lèirmheasan a 'faighinn iarrtasan airson co-aonaidhean gun eadar-dhealachaidhean ann an stoidhle, agus thar ùine thòisich an àireamh de raointean trioblaid a' lùghdachadh.

Deuchainn IaC

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

A bharrachd air sgrùdadh stoidhle, faodaidh tu rudan eile a chleachdadh, mar eisimpleir, gus dèanamh cinnteach gun gabh am bun-structair agad a chleachdadh. No dèan cinnteach nach caill atharrachaidhean ann am bun-structar airgead. Carson a dh’ fhaodadh seo a bhith a dhìth? Tha a’ cheist iom-fhillte agus feallsanachail, tha e nas fheàrr freagairt le sgeulachd gun robh dòigh air choireigin air inneal-sgèile air Powershell nach do rinn sgrùdadh air na suidheachaidhean crìche => chaidh barrachd VM a chruthachadh na bha riatanach => chaith an neach-dèiligidh barrachd airgid na bha san amharc. Chan eil seo gu math tlachdmhor, ach bhiodh e gu math comasach am mearachd seo a ghlacadh aig ìrean nas tràithe.

Dh’ fhaodadh aon faighneachd, carson a tha bun-structar iom-fhillte eadhon nas iom-fhillte? Chan ann mu dheidhinn sìmpleachadh a tha deuchainnean airson bun-structair, dìreach mar chòd, ach mu bhith fios agad mar a bu chòir do bhun-structair obrachadh.

Pioramaid deuchainn IaC

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Deuchainn IaC: Mion-sgrùdadh Statach

Ma chleachdas tu am bun-structair gu lèir aig an aon àm agus dèan cinnteach gu bheil e ag obair, is dòcha gu bheil thu a’ faicinn gu bheil e a’ toirt tòrr ùine agus a’ cur feum air tòrr ùine. Mar sin, feumaidh am bunait a bhith na rud a tha ag obair gu luath, tha tòrr dheth ann, agus tha e a 'còmhdach mòran àiteachan prìomhadail.

Tha Bash duilich

Bheir sinn sùil air eisimpleir beag. tagh a h-uile faidhle san eòlaire gnàthach agus dèan lethbhreac gu àite eile. A 'chiad rud a thig gu inntinn:

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

Dè ma tha àite ann an ainm an fhaidhle? Uill, ceart gu leòr, tha sinn tapaidh, tha fios againn mar a chleachdas sinn luachan:

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

S math a rinn thu? Chan eil! Dè mura h-eil dad san eòlaire, i.e. chan obraich globbing.

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

'S math a rinn thu a-nis? Chan eil... Dhìochuimhnich na dh'fhaodas a bhith ann an ainm an fhaidhle n.

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

Innealan anailis statach

Dh'fhaodadh an duilgheadas bhon cheum roimhe a bhith air a ghlacadh nuair a dhìochuimhnich sinn na briathran, airson seo tha mòran leigheasan ann an nàdar Shellcheck, san fharsaingeachd tha tòrr dhiubh ann, agus is coltaiche gum faigh thu loidhne-lìn airson do chruach fon IDE agad.

cànain
Tool

bash
Shellcheck

Ruby
RuboCop

python
piliint

cunntachail
Lint iomchaidh

Deuchainn IaC: Deuchainnean Aonaid

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Mar a chunnaic sinn bhon eisimpleir roimhe, chan eil na loidhnichean-lìonaidh uile-chumhachdach agus chan urrainn dhaibh na raointean duilgheadas uile a chomharrachadh. Nas fhaide, le samhlachas ri deuchainnean ann an leasachadh bathar-bog, is urrainn dhuinn deuchainnean aonad a thoirt air ais. Is e an rud a thig gu inntinn sa bhad shunit, òg, rspec, pytest. Ach dè a bu chòir a dhèanamh le ansible, còcaire, saltstack agus feadhainn eile coltach riutha?

Aig an fhìor thoiseach bhruidhinn sinn mu dheidhinn S.O.L.I.D. agus gum bu chòir don bhun-structair againn a bhith air a dhèanamh suas de bhreigichean beaga. Tha an ùine aca air tighinn.

  1. Tha am bun-structar air a roinn ann am breigichean beaga, mar eisimpleir, dreuchdan Ansible.
  2. Tha àrainneachd de sheòrsa air choreigin air a chleachdadh, ge bith an e docker no VM a th’ ann.
  3. Bidh sinn a’ cur ar dleastanas Ansible ris an àrainneachd deuchainn seo.
  4. Bidh sinn a’ dèanamh cinnteach gun do dh’ obraich a h-uile càil mar a bha sinn an dùil (bidh sinn a’ ruith dheuchainnean).
  5. Bidh sinn a’ co-dhùnadh ceart gu leòr no nach eil.

Deuchainn IaC: Innealan deuchainn aonad

Ceist, dè a th’ ann an deuchainnean airson CFM? Faodaidh tu dìreach an sgriobt a ruith, no faodaidh tu fuasglaidhean deiseil a chleachdadh airson seo:

CFM
Tool

Freagair
Deuchainn

ceann
Dèan sgrùdadh

ceann
Serverspec

cruach-salainn
Goss

Eisimpleir airson testinfra, a 'dèanamh cinnteach gu bheil luchd-cleachdaidh test1, test2 ann agus tha iad ann am buidheann 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

Dè a thaghadh? Tha a’ cheist iom-fhillte agus dà-sheaghach, seo eisimpleir de dh’ atharrachaidhean ann am pròiseactan air github airson 2018-2019:

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

IaC Frèamaichean deuchainn

Tha a 'cheist ag èirigh: ciamar a chuireas tu a h-uile càil ri chèile agus a chur air bhog? Faodaidh gabh e agus dèan thu fhèin e ma tha àireamh gu leòr de innleadairean ann. No faodaidh tu fuasglaidhean deiseil a ghabhail, ged nach eil mòran dhiubh ann:

CFM
Tool

Freagair
Moileciuil

ceann
Deuchainn cidsin

Terraform
Terratest

Eisimpleir de dh’atharrachaidhean ann am pròiseactan air github airson 2018-2019:

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Moileciuil vs. Cidsin deuchainn

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

An toiseach sinn feuchainn ri testkitchen a chleachdadh:

  1. Cruthaich VM aig an aon àm.
  2. Cuir an sàs dreuchdan Ansible.
  3. Ruith an sgrùdadh.

Airson 25-35 dreuchdan dh'obraich e 40-70 mionaid, a bha fada.

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

B’ e an ath cheum an gluasad gu jenkins/docker/asible/molecule. A thaobh ideòlas tha a h-uile dad mar an ceudna

  1. Leabhraichean-cluiche lint.
  2. Dèan loidhne air na dreuchdan.
  3. Cur air bhog container
  4. Cuir an sàs dreuchdan Ansible.
  5. Ruith testinfra.
  6. Thoir sùil air neo-chomasachd.

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Thòisich linting airson 40 dreuchd agus deuchainnean airson dusan a 'toirt timcheall air 15 mionaidean.

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Bidh na tha ri taghadh an urra ri mòran fhactaran, leithid a’ chruach a thathar a’ cleachdadh, eòlas san sgioba, msaa. an seo bidh a h-uile duine a’ co-dhùnadh dhaibh fhèin ciamar a dhùineas iad ceist deuchainn an Aonaid

Deuchainn IaC: Deuchainnean Amalachaidh

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Is e an ath cheum ann am pioramaid deuchainn bun-structair deuchainnean amalachaidh. Tha iad coltach ri deuchainnean Aonaid:

  1. Tha am bun-structar air a roinn ann am breigichean beaga, mar eisimpleir dreuchdan Ansible.
  2. Tha àrainneachd de sheòrsa air choreigin air a chleachdadh, ge bith an e docker no VM a th’ ann.
  3. Airson an àrainneachd deuchainn seo cuir a-steach mòran Dreuchdan ciallach.
  4. Bidh sinn a’ dèanamh cinnteach gun do dh’ obraich a h-uile càil mar a bha sinn an dùil (bidh sinn a’ ruith dheuchainnean).
  5. Bidh sinn a’ co-dhùnadh ceart gu leòr no nach eil.

Gu ìre mhòr, cha bhith sinn a’ sgrùdadh coileanadh eileamaid fa leth den t-siostam mar ann an deuchainnean aonaid, bidh sinn a’ sgrùdadh mar a tha am frithealaiche air a rèiteachadh gu h-iomlan.

Deuchainn IaC: Deuchainnean deireadh gu deireadh

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Aig mullach na pioramaid tha deuchainnean End to End a’ cur fàilte oirnn. An fheadhainn sin. Cha bhith sinn a’ sgrùdadh coileanadh frithealaiche air leth, sgriobt air leth, no breige air leth den bhun-structar againn. Bidh sinn a’ dèanamh cinnteach gu bheil mòran de luchd-frithealaidh ceangailte ri chèile, tha ar bun-structar ag obair mar a tha sinn an dùil. Gu mì-fhortanach, chan fhaca mi a-riamh fuasglaidhean bogsa deiseil, is dòcha air sgàth ... Tha am bun-structar gu tric gun samhail agus duilich a dhealbhadh agus frèam a chruthachadh airson deuchainn. Mar thoradh air an sin, bidh a h-uile duine a 'cruthachadh am fuasglaidhean fhèin. Tha iarrtas ann, ach chan eil freagairt ann. Mar sin, innsidh mi dhut dè a th’ ann gus daoine eile a phutadh gu smuaintean fuaim no suathadh mo shròin leis gun deach a h-uile càil a chruthachadh o chionn fhada romhainn.

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Pròiseact le eachdraidh bheairteach. Tha e air a chleachdadh ann am buidhnean mòra agus is dòcha gu bheil gach fear agaibh air a dhol thairis air slighean gu neo-dhìreach leis. Bidh an tagradh a’ toirt taic do dh’ iomadh stòr-dàta, aonachadh, msaa. Le bhith eòlach air cò ris a bhiodh am bun-structar coltach tha tòrr fhaidhlichean dèanta docker, agus fios dè na deuchainnean a bu chòir a ruith anns an àrainneachd anns a bheil Jenkins.

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Dh'obraich an sgeama seo airson ùine mhòr, gus an taobh a-staigh an fhrèam rannsachadh chan eil sinn air feuchainn ri seo a ghluasad gu Openshift. Tha na soithichean mar a tha iad, ach tha an àrainneachd cur air bhog air atharrachadh (hello DRY. a-rithist).

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Chaidh am beachd rannsachaidh nas fhaide, agus ann an openshift lorg iad leithid de rud ri APB (Ansible Playbook Bundle), a leigeas leat eòlas a phacadh air mar a chleachdas tu bun-structar ann an soitheach. An fheadhainn sin. tha puing eòlais a ghabhas ath-aithris agus a dhearbhadh air mar a bu chòir am bun-structair a chleachdadh.

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Bha seo uile math gus an do ruith sinn a-steach do bhun-structar ioma-ghnèitheach: bha feum againn air Windows airson deuchainnean. Mar thoradh air an sin, tha an eòlas air dè, càite, ciamar a chleachdas tu, agus deuchainn ann an jenkins.

Co-dhùnadh

Na dh ’ionnsaich mi bho bhith a’ dèanamh deuchainn air 200 loidhne de chòd bun-structair

Tha bun-structar mar a tha Còd

  • Còd ann an stòr.
  • Eadar-obrachadh daonna.
  • Deuchainn bun-structair.

dh'fhàg

Source: www.habr.com

Cuir beachd ann