.NET Core air Linux, DevOps air muin eich

Leasaich sinn DevOps mar a b’ fheàrr a b’ urrainn dhuinn. Bha 8 againn, agus b’ e Vasya an tè a bu fhuaire ann an Windows. Gu h-obann dh’fhalbh Vasya, agus bha e mar dhleastanas orm pròiseact ùr a chuir air bhog a chaidh a thoirt seachad le leasachadh Windows. Nuair a dhump mi an stac leasachaidh Windows gu lèir air a’ bhòrd, thuig mi gur e pian a bh’ anns an t-suidheachadh...

Seo mar a thòisicheas an sgeulachd Alexandra Sinchinova air DevOpsConf. Nuair a dh'fhàg am prìomh eòlaiche Windows a 'chompanaidh, bha Alasdair a' faighneachd dè a bu chòir a dhèanamh a-nis. Gluais gu Linux, gu dearbh! Innsidh Alexander dhut mar a chaidh aige air fasach a chruthachadh agus pàirt de leasachadh Windows a ghluasad gu Linux a’ cleachdadh eisimpleir de phròiseact crìochnaichte airson 100 neach-cleachdaidh deireannach.

.NET Core air Linux, DevOps air muin eich

Ciamar a lìbhrigeas tu pròiseact gu RPM gu furasta agus gun oidhirp a’ cleachdadh cridhe TFS, Puppet, Linux .NET? Mar a bheir thu taic do dhreach stòr-dàta pròiseict ma chluinneas an sgioba leasachaidh na faclan Postgres agus Flyway airson a’ chiad uair, agus gur e an ceann-latha an latha às deidh a-màireach? Ciamar a thèid thu còmhla ri Docker? Ciamar a bhrosnaicheas luchd-leasachaidh .NET Windows agus smoothies a thrèigsinn airson Puppet and Linux? Ciamar a gheibh thu fuasgladh air còmhstri ideòlach mura h-eil an neart, no am miann, no na goireasan gus Windows a chumail ann an riochdachadh? Mu dheidhinn seo, a bharrachd air Web Deploy, deuchainn, CI, mu chleachdaidhean cleachdadh TFS ann am pròiseactan a tha ann mar-thà, agus, gu dearbh, mu dheidhinn bagaichean briste agus fuasglaidhean obrach, ann an tar-sgrìobhadh aithisg Alexander.


Mar sin, dh ’fhalbh Vasya, tha an obair ormsa, tha an luchd-leasachaidh a’ feitheamh gu mì-fhoighidneach le pitchforks. Nuair a thuig mi mu dheireadh nach b 'urrainnear Vasya a thilleadh, fhuair mi sìos gu gnìomhachas. An toiseach, rinn mi measadh air an àireamh sa cheud de Win VMan anns a’ chabhlach againn. Cha robh an sgòr airson Windows.

.NET Core air Linux, DevOps air muin eich

Leis gu bheil sinn gu gnìomhach a’ leasachadh DevOps, thuig mi gum feum rudeigin atharrachadh san dòigh-obrach airson tagradh ùr a lìbhrigeadh. Cha robh ann ach aon fhuasgladh - ma ghabhas e dèanamh, gluais a h-uile càil gu Linux. Chuidich Google mi - aig an àm sin bha .Net air a ghluasad gu Linux mu thràth, agus thuig mi gur e seo am fuasgladh!

Carson .NET core ann an co-bhonn ri Linux?

Bha grunn adhbharan ann airson seo. Eadar “pàigh airgead” agus “chan eil pàigheadh”, taghaidh a’ mhòr-chuid an dàrna fear - mar mise. Tha cead airson MSDB a’ cosg timcheall air $1; tha cumail suas cabhlach de dh’ innealan brìgheil Windows a’ cosg ceudan dolar. Airson companaidh mhòr tha seo na chosgais mhòr. Is ann air sgàth sin sàbhalaidhean - chiad adhbhar. Chan e an fheadhainn as cudromaiche, ach aon den fheadhainn as cudromaiche.

Bidh innealan brìgheil Windows a’ gabhail barrachd ghoireasan na am bràithrean Linux - tha iad trom. Leis cho mòr sa bha a’ chompanaidh mhòr, thagh sinn Linux.

Tha an siostam dìreach air fhilleadh a-steach don CI a th’ ann mar-thà. Tha sinn gar faicinn fhìn adhartach DevOps, bidh sinn a’ cleachdadh Bambù, Jenkins agus GitLab CI, agus mar sin bidh a’ mhòr-chuid den obair againn a’ ruith air Linux.

Is e an adhbhar mu dheireadh taice goireasach. Dh'fheumadh sinn a' chnap-starra airson faighinn a-steach airson "luchd-taic" a lùghdachadh - na daoine a thuigeas am pàirt theicnigeach, a 'dèanamh cinnteach à seirbheis gun bhriseadh, agus a' cumail suas seirbheisean bhon dàrna loidhne. Bha iad mu thràth eòlach air stac Linux, agus mar sin tha e fada nas fhasa dhaibh toradh ùr a thuigsinn, taic a thoirt dha agus a chumail suas na bhith a’ cosg goireasan a bharrachd gus an aon ghnìomhachd bathar-bog airson àrd-ùrlar Windows a thuigsinn.

riatanasan

An toiseach agus as cudromaiche - goireasachd an fhuasglaidh ùr do luchd-leasachaidh. Cha robh iad uile deiseil airson atharrachadh, gu sònraichte às deidh am facal Linux a bhruidhinn. Tha luchd-leasachaidh ag iarraidh an Visual Studio, TFS le autotests airson co-chruinneachaidhean agus smoothies. Chan eil e cudromach dhaibh mar a tha lìbhrigeadh gu cinneasachadh a’ tachairt. Mar sin, chuir sinn romhainn gun a bhith ag atharrachadh a 'phròiseas àbhaisteach agus a' fàgail a h-uile càil gun atharrachadh airson leasachadh Windows.

Tha feum air pròiseact ùr amalachadh a-steach don CI a th’ ann mar-thà. Bha na rèilichean ann mu thràth agus bha an obair gu lèir ri dhèanamh a’ toirt aire do chrìochan an t-siostam riaghlaidh rèiteachaidh, inbhean lìbhrigidh ris an deach gabhail agus siostaman sgrùdaidh.

Furasta taic agus obrachadh, mar chumha airson an ìre inntrigidh as ìsle airson a h-uile com-pàirtiche ùr bho dhiofar roinnean agus an roinn taic.

Ceann-latha - an-dè.

Buannaich Buidheann Leasachaidh

Cò leis a bha sgioba Windows ag obair aig an àm sin?

.NET Core air Linux, DevOps air muin eich

A-nis is urrainn dhomh sin a ràdh le misneachd Frithealaiche dearbh-aithne 4 na roghainn fionnar an-asgaidh an àite ADFS le comasan co-chosmhail, no dè Frèam eintiteas bunaiteach - pàrras airson leasaiche, far nach fheum thu dragh a chuir air sgrìobhadh sgriobtaichean SQL, ach cunntas a thoirt air ceistean san stòr-dàta ann an teirmean OOP. Ach an uairsin, nuair a bha mi a’ deasbad a’ phlana gnìomh, choimhead mi air a’ chruach seo mar gum b’ e cuneiform Sumerian a bh’ ann, ag aithneachadh dìreach PostgreSQL agus Git.

Aig an àm sin bha sinn gu gnìomhach a 'cleachdadh Pupaid mar shiostam riaghlaidh rèiteachaidh. Anns a’ mhòr-chuid de na pròiseactan a chleachd sinn GitLab CI, SÙBAILTE, seirbheisean àrd-luchd cothromach a’ cleachdadh HAProxy sùil a chumail air a h-uile càil le Zabbix, ligaments grafana и Prometheus, Sealgair, agus bha so uile a' snìomh air mìribh iarainn HPESXi air VMware. Tha fios aig a h-uile duine air - clasaig den ghnè.

.NET Core air Linux, DevOps air muin eich

Bheir sinn sùil agus feuchaidh sinn ri tuigsinn dè thachair mus do thòisich sinn air na h-eadar-theachdan sin uile.

Dè thachar

Tha TFS na shiostam gu math cumhachdach a tha chan ann a-mhàin a’ lìbhrigeadh còd bhon leasaiche chun inneal toraidh deireannach, ach tha seata aige cuideachd airson amalachadh gu math sùbailte le diofar sheirbheisean - gus CI a thoirt seachad aig ìre tar-àrd-ùrlar.

.NET Core air Linux, DevOps air muin eich
Roimhe sin, b 'e uinneagan cruaidh a bha seo. Chleachd TFS grunn riochdairean Togail, a chaidh an cleachdadh gus mòran phròiseactan a chruinneachadh. Tha 3-4 neach-obrach aig gach àidseant gus gnìomhan a cho-thaobhadh agus am pròiseas a bharrachadh. An uairsin, a rèir planaichean fuasglaidh, lìbhrig TFS an Togail ùr-fhuine gu frithealaiche tagraidh Windows.

Dè bha sinn airson a choileanadh?

Bidh sinn a’ cleachdadh TFS airson lìbhrigeadh agus leasachadh, agus bidh sinn a’ ruith an aplacaid air frithealaiche Iarrtas Linux, agus tha draoidheachd de sheòrsa air choreigin eatorra. Seo Bogsa Draoidheachd agus tha salann na h-oibre air thoiseach. Mus toir mi às a chèile e, bheir mi ceum gu aon taobh agus canaidh mi beagan fhaclan mun tagradh.

Am pròiseact

Tha an aplacaid a’ toirt seachad comas-gnìomh airson làimhseachadh chairtean ro-phàighte.

.NET Core air Linux, DevOps air muin eich

Client

Bha dà sheòrsa de luchd-cleachdaidh ann. A 'chiad fhear fhuair thu cothrom le bhith a’ logadh a-steach a’ cleachdadh teisteanas SSL SHA-2. U an dàrna fear bha inntrigeadh ann le bhith a’ cleachdadh logadh a-steach agus facal-faire.

HAProxy

An uairsin chaidh iarrtas teachdaiche gu HAProxy, a dh’ fhuasgail na duilgheadasan a leanas:

  • prìomh ùghdarras;
  • Crìochnachadh SSL;
  • gleusadh iarrtasan HTTP;
  • iarrtasan craolaidh.

Chaidh teisteanas an neach-dèiligidh a dhearbhadh air feadh na slabhraidh. Tha sinn - ùghdarras agus is urrainn dhuinn seo a phàigheadh, leis gu bheil sinn fhìn a’ toirt seachad teisteanasan do luchd-dèiligidh seirbheis.

Thoir aire don treas puing, tillidh sinn thuige beagan nas fhaide air adhart.

Backend

Bha iad an dùil an backend a dhèanamh air Linux. Bidh an backend ag eadar-obrachadh leis an stòr-dàta, a’ luchdachadh an liosta shochairean riatanach agus an uairsin, a rèir dè na sochairean a tha aig an neach-cleachdaidh ùghdarraichte, a’ toirt cothrom air sgrìobhainnean ionmhais a shoidhnigeadh agus an cur gu bàs, no aithisg de sheòrsa air choreigin a ghineadh.

Sàbhalaidhean le HAProxy

A bharrachd air an dà cho-theacsa air an do sheòl gach neach-dèiligidh, bha co-theacsa dearbh-aithne ann cuideachd. Frithealaiche dearbh-aithne 4 dìreach a’ leigeil leat logadh a-steach, is e analogue an-asgaidh agus cumhachdach a tha seo airson ADFS - Seirbheisean Caidreachas Directory Gnìomhach.

Chaidh an t-iarrtas dearbh-aithne a phròiseasadh ann an grunn cheumannan. A' chiad cheum - neach-ceannach chaidh e a-steach don chùl, a rinn conaltradh ris an t-seirbheisiche seo agus a rinn sgrùdadh air làthaireachd comharra airson an neach-dèiligidh. Mura deach a lorg, chaidh an t-iarrtas a thilleadh air ais chun cho-theacsa às an tàinig e, ach le ath-sheòladh, agus leis an ath-sheòladh chaidh e gu dearbh-aithne.

An dàrna ceum - fhuaireadh an t-iarrtas chun duilleag ceadachaidh ann an IdentityServer, far an do chlàraich an neach-dèiligidh, agus nochd an comharra ris an robh dùil o chionn fhada ann an stòr-dàta IdentityServer.

An treas ceum - chaidh an neach-dèiligidh ath-stiùireadh air ais don cho-theacsa às an tàinig e.

.NET Core air Linux, DevOps air muin eich

Tha feart aig IdentityServer4: tillidh e am freagairt don iarrtas tilleadh tro HTTP. Ge bith dè an duilgheadas a bha againn le bhith a’ stèidheachadh an fhrithealaiche, ge bith dè an ìre a shoilleirich sinn sinn fhìn leis na sgrìobhainnean, gach uair a fhuair sinn iarrtas teachdaiche tùsail le URL a thàinig tro HTTPS, agus thill IdentityServer an aon cho-theacsa, ach le HTTP. Chuir sinn iongnadh oirnn! Agus ghluais sinn seo gu lèir tron ​​​​cho-theacsa dearbh-aithne gu HAProxy, agus anns na cinn-cinn bha againn ri protocol HTTP atharrachadh gu HTTPS.

Dè an leasachadh agus càite an do shàbhail thu?

Shàbhail sinn airgead le bhith a’ cleachdadh fuasgladh an-asgaidh airson buidheann de luchd-cleachdaidh, goireasan a cheadachadh, leis nach do chuir sinn IdentityServer4 mar nód air leth ann an earrann air leth, ach chleachd sinn e còmhla ris an backend air an aon fhrithealaiche far a bheil deireadh-seachdain an tagraidh a’ ruith .

Ciamar a bu chòir dha obrachadh

Mar sin, mar a gheall mi - Magic Box. Tha sinn mu thràth a’ tuigsinn gu bheil sinn cinnteach gun gluais sinn a dh’ ionnsaigh Linux. Feuch an cruthaich sinn gnìomhan sònraichte a dh’ fheumadh fuasglaidhean.

.NET Core air Linux, DevOps air muin eich

Pupaid a’ nochdadh. Gus seirbheis agus rèiteachadh tagraidh a lìbhrigeadh agus a riaghladh, dh'fheumadh reasabaidhean fionnar a sgrìobhadh. Tha rolla peansail gu h-ealanta a’ sealltainn cho luath agus cho èifeachdach sa chaidh a dhèanamh.

Dòigh lìbhrigidh. Is e an ìre àbhaisteach RPM. Tha a h-uile duine a’ tuigsinn nach urrainn dhut ann an Linux a dhèanamh às aonais, ach bha am pròiseact fhèin, às deidh co-chruinneachadh, na sheata de fhaidhlichean DLL so-ghnìomhaichte. Bha mu 150 dhiubh ann, bha am pròiseact gu math duilich. Is e an aon fhuasgladh co-chòrdail am binary seo a phacadh a-steach do RPM agus an tagradh a chleachdadh bhuaithe.

Tionndadh. B’ fheudar dhuinn a leigeil ma sgaoil gu math tric, agus bha againn ri co-dhùnadh ciamar a chumadh sinn ainm a’ phacaid. Is e seo ceist mun ìre de aonachadh le TFS. Bha àidseant togail againn air Linux. Nuair a chuireas TFS gnìomh gu neach-làimhseachaidh - neach-obrach - chun àidseant Togail, bidh e cuideachd a ’toirt seachad dòrlach de chaochladairean a thig gu crìch ann an àrainneachd a’ phròiseas làimhseachaidh. Anns na caochladairean àrainneachd sin tha an t-ainm Togail, ainm an tionndaidh, agus caochladairean eile. Leugh tuilleadh mu dheidhinn seo anns an earrainn “Togail pasgan RPM”.

A 'stèidheachadh TFS thàinig e sìos gu stèidheachadh Pipeline. Roimhe sin, chruinnich sinn a h-uile pròiseact Windows air riochdairean Windows, ach a-nis tha àidseant Linux a ’nochdadh - àidseant Togail, a dh’ fheumas a bhith air a ghabhail a-steach sa bhuidheann togail, air a bheairteachadh le cuid de stuthan, agus dh’ innis sinn dè an seòrsa pròiseactan a thèid a thogail air an àidseant Togail seo , agus dòigh air choireigin atharraich an loidhne-phìoban.

Frithealaidh dearbh-aithne. Chan e ADFS an t-slighe againn, tha sinn a’ dol airson Open Source.

Rachamaid tro na co-phàirtean.

Bogsa Draoidheachd

Air a dhèanamh suas de cheithir earrannan.

.NET Core air Linux, DevOps air muin eich

Linux neach-togail-dhealbh. Linux, oir bidh sinn a’ togail air a shon - tha e loidsigeach. Chaidh am pàirt seo a dhèanamh ann an trì ceumannan.

  • Dèan rèiteachadh air luchd-obrach agus chan ann leotha fhèin, oir bha dùil ri obair sgaoilte air a’ phròiseact.
  • Stàlaich .NET Core 1.x. Carson 1.x nuair a tha 2.0 ri fhaighinn mar-thà anns an stòr àbhaisteach? Oir nuair a thòisich sinn air leasachadh, b’ e 1.09 an dreach seasmhach, agus chaidh co-dhùnadh am pròiseact a dhèanamh stèidhichte air.
  • Git 2.x.

RPM-tasgaidh. Dh'fheumadh pacaidean RPM a bhith air an stòradh an àiteigin. Bhathas den bheachd gun cleachd sinn an aon stòr RPM corporra a tha ri fhaighinn leis a h-uile neach-aoigheachd Linux. Sin a rinn iad. Tha frithealaiche an tasgaidh air a rèiteachadh cuach-lìn a luchdaich sìos am pasgan RPM riatanach bhon àite ainmichte. Chaidh an dreach pacaid innse don bhileag-lìn leis an neach-ionaid Build.

GitLab. Thoir an aire! Tha GitLab an seo air a chleachdadh chan ann le luchd-leasachaidh, ach leis an roinn gnìomhachd gus smachd a chumail air dreachan tagraidh, dreachan pacaid, sùil a chumail air inbhe gach inneal Linux, agus bidh e a’ stòradh an reasabaidh - tha a h-uile Puppet a ’nochdadh.

Pupaid - a’ fuasgladh a h-uile cùis chonnspaideach agus a’ lìbhrigeadh dìreach an rèiteachadh a tha sinn ag iarraidh bho Gitlab.

Bidh sinn a 'tòiseachadh a' dàibheadh. Ciamar a tha lìbhrigeadh DLL gu RPM ag obair?

Lìbhrigeadh DDL gu RPM

Canaidh sinn gu bheil rionnag roc leasachaidh .NET againn. Bidh e a’ cleachdadh Visual Studio agus a’ cruthachadh meur fuasglaidh. Às deidh sin, bidh e ga luchdachadh suas gu Git, agus tha Git an seo na bhuidheann TFS, is e sin, is e an stòr tagraidh leis a bheil an leasaiche ag obair.

.NET Core air Linux, DevOps air muin eich

Às deidh sin tha TFS a’ faicinn gu bheil gealltanas ùr air ruighinn. Dè an aplacaid? Anns na roghainnean TFS tha bileag a’ sealltainn dè na goireasan a th’ aig àidseant Togail sònraichte. Anns a 'chùis seo, tha e a' faicinn gu bheil sinn a 'togail pròiseact .NET Core agus a' taghadh àidseant Linux Build bhon linne.

Bidh an riochdaire Togail a’ faighinn na stòran agus a’ luchdachadh sìos na tha riatanach eisimeileachd bhon stòr .NET, npm, msaa. agus às deidh an tagradh fhèin a thogail agus pacadh às deidh sin, cuiridh e am pasgan RPM gu stòr RPM.

Air an làimh eile, tha na leanas a 'tachairt. Tha innleadair na roinn gnìomhachd gu dìreach an sàs ann an sgaoileadh a’ phròiseict: bidh e ag atharrachadh na dreachan de phasganan a-steach Hiera anns an stòr far a bheil an reasabaidh tagraidh air a stòradh, às deidh sin bidh Puppet a’ piobrachadh Yum, a’ faighinn a’ phacaid ùr bhon stòr, agus tha an dreach ùr den tagradh deiseil airson a chleachdadh.

.NET Core air Linux, DevOps air muin eich

Tha a h-uile dad sìmplidh ann am faclan, ach dè a thachras taobh a-staigh an neach-ionaid Togail fhèin?

Pacadh DLL RPM

Fhuair sinn tobraichean pròiseict agus obair togail bho TFS. Agent togail tòiseachadh a’ togail a’ phròiseict fhèin bho thùsan. Tha am pròiseact cruinnichte ri fhaighinn mar sheata Faidhlichean DLL, a tha air am pacadh ann an tasglann zip gus an luchd air an t-siostam faidhle a lughdachadh.

Tha tasglann ZIP air a thilgeil air falbh gu eòlaire togail pacaid RPM. An ath rud, bidh an sgriobt Bash a’ tòiseachadh caochladairean na h-àrainneachd, a’ lorg an dreach Togail, dreach a’ phròiseict, an t-slighe chun an eòlaire togail, agus a’ ruith RPM-build. Aon uair ‘s gu bheil an togail deiseil, thèid am pasgan fhoillseachadh gu ionad-tasgaidh ionadail, a tha suidhichte air an Togail àidseant.

An uairsin, bhon àidseant Togail chun t-seirbheisiche ann an stòr RPM Tha iarrtas JSON air a chuir a’ comharrachadh ainm an tionndaidh agus an togail. Bidh Webhook, air an do bhruidhinn mi na bu thràithe, a ’luchdachadh sìos a’ phacaid seo bhon stòr ionadail air an neach-ionaid Togail agus a ’toirt seachad an t-seanadh ùr airson a chuir a-steach.

.NET Core air Linux, DevOps air muin eich

Carson a tha an sgeama lìbhrigidh pacaid sònraichte seo gu stòr RPM? Carson nach urrainn dhomh am pasgan cruinnichte a chuir chun stòr sa bhad? Is e an fhìrinn gu bheil seo na chumha airson dèanamh cinnteach à sàbhailteachd. Tha an suidheachadh seo a’ cuingealachadh comas dhaoine gun chead pasganan RPM a luchdachadh suas gu frithealaiche a tha ruigsinneach don h-uile inneal Linux.

Tionndadh stòr-dàta

Aig co-chomhairle leis an sgioba leasachaidh, thionndaidh e a-mach gu robh na balaich nas fhaisge air MS SQL, ach anns a’ mhòr-chuid de phròiseactan neo-Windows bha sinn mu thràth a’ cleachdadh PostgreSQL leis an làn chomas. Leis gu robh sinn mar-thà air co-dhùnadh a h-uile dad pàighte a thrèigsinn, thòisich sinn air PostgreSQL a chleachdadh an seo cuideachd.

.NET Core air Linux, DevOps air muin eich

Anns a’ phàirt seo tha mi airson innse dhut mar a dh’atharraich sinn an stòr-dàta agus mar a thagh sinn eadar Flyway agus Entity Framework Core. Bheir sinn sùil air na buannachdan agus na h-eas-bhuannachdan aca.

Минусы

Chan eil Flyway a’ dol ach aon dòigh, sinne chan urrainn dhuinn tilleadh air ais - tha seo na ana-cothrom mòr. Faodaidh tu a choimeas ri Entity Framework Core ann an dòighean eile - a thaobh goireasachd leasaiche. Tha cuimhne agad gun do chuir sinn seo aig fìor thoiseach, agus b’ e am prìomh shlat-tomhais gun a bhith ag atharrachadh dad airson leasachadh Windows.

Airson Flyway dhuinn bha feum air seòrsa de phasgangus nach sgrìobh na balaich Ceistean SQL. Tha iad tòrr nas fhaisge air a bhith ag obair ann an teirmean OOP. Sgrìobh sinn stiùireadh airson obrachadh le stuthan stòr-dàta, chruthaich sinn ceist SQL agus chuir sinn an gnìomh e. Tha an dreach ùr den stòr-dàta deiseil, air a dhearbhadh - tha a h-uile dad gu math, bidh a h-uile dad ag obair.

Tha minus aig Entity Framework Core - fo luchdan troma a’ togail cheistean SQL suboptimal, agus faodaidh an tarraing sìos san stòr-dàta a bhith cudromach. Ach leis nach eil seirbheis luchdan àrd againn, cha bhith sinn a’ tomhas an luchd anns na ceudan de RPS, ghabh sinn ris na cunnartan sin agus thiomnaich sinn an duilgheadas dhuinn san àm ri teachd.

Плюсы

Frèam eintiteas bunaiteach ag obair a-mach às a’ bhogsa agus tha e furasta a leasachadh, agus Flyway A ’ceangal gu furasta ris an CI a th’ ann mar-thà. Ach tha sinn ga dhèanamh goireasach dha luchd-leasachaidh :)

Dòigh-obrach rolla suas

Bidh pupaidean a 'faicinn gu bheil atharrachadh ann an dreach pasgan a' tighinn, a 'gabhail a-steach an tè a tha an urra ri imrich. An toiseach, bidh e a’ stàladh pasgan anns a bheil sgriobtaichean imrich agus gnìomhachd co-cheangailte ri stòr-dàta. Às deidh seo, thèid an tagradh a tha ag obair leis an stòr-dàta ath-thòiseachadh. An uairsin thig stàladh nam pàirtean a tha air fhàgail. Tha an òrdugh anns a bheil pacaidean air an cur a-steach agus tagraidhean air an cur air bhog air a mhìneachadh ann am foillseachadh a’ Phupaidean.

Bidh tagraidhean a’ cleachdadh dàta mothachail, leithid comharran, faclan-faire stòr-dàta, tha seo uile air a tharraing a-steach don config bho Puppet Master, far a bheil iad air an stòradh ann an cruth crioptaichte.

TFS duilgheadasan

Às deidh dhuinn co-dhùnadh agus tuigsinn gu robh a h-uile dad ag obair dha-rìribh dhuinne, chuir mi romham coimhead air na bha a’ dol leis na co-chruinneachaidhean ann an TFS gu h-iomlan airson roinn leasachaidh Win air pròiseactan eile - ge bith an robh sinn a’ togail / a’ leigeil ma sgaoil gu sgiobalta no nach robh, agus lorg duilgheadasan mòra le luaths.

Bheir aon de na prìomh phròiseactan 12-15 mionaidean airson cruinneachadh - is e sin ùine mhòr, chan urrainn dhut a bhith beò mar sin. Sheall mion-sgrùdadh sgiobalta lùghdachadh uamhasach ann an I / O, agus bha seo air arrays.

Às deidh dhomh mion-sgrùdadh a dhèanamh air co-phàirt le co-phàirt, chomharraich mi trì fòcasan. A’ chiad - "Kaspersky antivirus", a bhios a’ sganadh stòran air a h-uile riochdaire Windows Build. An dàrna - Windows Clàr-innse. Cha robh e ciorramach, agus chaidh a h-uile càil a chlàradh ann an àm fìor air na riochdairean Togail rè a’ phròiseas cleachdadh.

An treas - Npm a stàladh. Thionndaidh e a-mach gun do chleachd sinn an dearbh shuidheachadh seo anns a ’mhòr-chuid de phìoban. Carson a tha e dona? Tha modh stàlaidh Npm air a ruith nuair a thèid a’ chraobh eisimeileachd a chruthachadh pasgan-glas.json, far a bheil na dreachan de phasganan a thèid a chleachdadh airson am pròiseact a thogail air an clàradh. Is e an ìsleachadh gu bheil Npm install a’ tarraing suas na dreachan as ùire de phasganan bhon eadar-lìn a h-uile uair, agus bheir seo tòrr ùine a thaobh pròiseact mòr.

Bidh luchd-leasachaidh uaireannan a’ feuchainn air inneal ionadail gus deuchainn a dhèanamh air mar a tha pàirt sònraichte no pròiseact slàn ag obair. Uaireannan thionndaidh e a-mach gu robh a h-uile dad fionnar gu h-ionadail, ach chruinnich iad e, chuir iad a-mach e, agus cha do dh'obraich dad. Bidh sinn a 'tòiseachadh a' faighinn a-mach dè an duilgheadas a th 'ann - seadh, dreachan eadar-dhealaichte de phasgan le eisimeileachd.

co-dhùnadh

  • Stòran ann an eisgeachdan AV.
  • Cuir à comas clàr-amais.
  • Eadar-ghluasad gu npm ci.

Is e na buannachdan a tha aig npm ci gu bheil sinn Bidh sinn a 'tional a' chraobh eisimeileachd aon uair, agus gheibh sinn an cothrom an leasaiche a thoirt seachad liosta de na pacaidean làithreach, leis an urrainn dha feuchainn gu h-ionadail cho math 's as toil leis. Seo a’ sàbhaladh ùine luchd-leasachaidh a bhios a’ sgrìobhadh còd.

Rèiteachadh

A-nis beagan mu rèiteachadh an stòrais. Gu h-eachdraidheil bidh sinn a 'cleachdadh Deasaich na ceanglaichean airson riaghladh stòran, a’ gabhail a-steach REPO a-staigh. Anns an stòr a-staigh seo tha a h-uile pàirt a bhios sinn a’ cleachdadh airson adhbharan a-staigh, mar eisimpleir, sgrùdadh fèin-sgrìobhte.

.NET Core air Linux, DevOps air muin eich

Cleachdaidh sinn cuideachd NuGet, leis gu bheil caching nas fheàrr aige an taca ri manaidsearan pacaid eile.

thoradh air

Às deidh dhuinn na riochdairean togail as fheàrr a dhèanamh, chaidh an ùine togail cuibheasach a lughdachadh bho 12 mionaidean gu 7.

Ma tha sinn a’ cunntadh a h-uile inneal a dh’ fhaodadh sinn a bhith air a chleachdadh airson Windows, ach air tionndadh gu Linux sa phròiseact seo, shàbhail sinn timcheall air $10.Agus tha sin dìreach air ceadan, agus barrachd ma bheir sinn aire don t-susbaint.

Planaichean

Airson an ath chairteal, bha sinn an dùil a bhith ag obair air lìbhrigeadh còd as fheàrr.

Ag atharrachadh gu ìomhaigh Docker ro-thog. Is e rud math a th’ ann an TFS le mòran plugins a leigeas leat fhilleadh a-steach don Phìob-loidhne, a’ toirt a-steach co-chruinneachadh stèidhichte air brosnachaidh de, can, ìomhaigh Docker. Tha sinn airson an inneal brosnachaidh seo a dhèanamh airson an aon fhear pasgan-glas.json. Ma dh’ atharraicheas cothlamadh nam pàirtean a chaidh a chleachdadh airson am pròiseact a thogail dòigh air choireigin, togaidh sinn ìomhaigh Docker ùr. Tha e nas fhaide air adhart air a chleachdadh gus an soitheach a chuir a-steach leis an tagradh cruinnichte. Chan eil seo fìor a-nis, ach tha sinn an dùil atharrachadh gu ailtireachd microservice ann an Kubernetes, a tha gu gnìomhach a’ leasachadh anns a ’chompanaidh againn agus a tha air a bhith a’ frithealadh fuasglaidhean toraidh airson ùine mhòr.

Geàrr-chunntas

Tha mi a 'brosnachadh a h-uile duine Windows a thilgeil air falbh, ach chan ann air sgàth' s nach eil fios agam ciamar a chòcaicheas mi e. Is e an t-adhbhar gu bheil a 'mhòr-chuid de fhuasglaidhean Opensource Stòr Linux. A bheil thu ceart gu leòr sàbhail air goireasan. Nam bheachd-sa, buinidh an àm ri teachd do fhuasglaidhean Open Source air Linux le coimhearsnachd chumhachdach.

Pròifil neach-labhairt Alasdair Sinchinov air GitHub.

DevOps Conf na cho-labhairt air amalachadh phròiseasan leasachaidh, deuchainn agus obrachaidh airson proifeiseantaich le proifeiseantaich. Sin as coireach mun phròiseact air an do bhruidhinn Alasdair? air an cur an gnìomh agus ag obair, agus air latha an taisbeanaidh bha dà fhoillseachadh soirbheachail. Air adhart DevOps Conf aig RIT++ Air 27 agus 28 Cèitean bidh eadhon barrachd chùisean coltach ri chèile bho luchd-dreuchd. Faodaidh tu fhathast leum a-steach don charbad mu dheireadh agus cuir a-steach aithisg no gabh do chuid ùine a ghleidheadh tiogaid. Coinnich rinn ann an Skolkovo!

Source: www.habr.com

Cuir beachd ann