Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Gadewch i ni drafod pam mae offer CI a CI yn bethau hollol wahanol.

Pa boen y mae CI yn bwriadu ei datrys, o ble y daeth y syniad, beth yw'r cadarnhad diweddaraf ei fod yn gweithio, sut i ddeall bod gennych bractis ac nid Jenkins wedi'i osod yn unig.

Ymddangosodd y syniad o wneud adroddiad am Integreiddio Parhaus flwyddyn yn ôl, pan oeddwn yn mynd am gyfweliadau ac yn chwilio am swydd. Siaradais â 10-15 o gwmnïau, dim ond un ohonyn nhw oedd yn gallu ateb yn glir beth yw CI ac esbonio sut y sylweddolon nhw nad oedd ganddyn nhw. Roedd y gweddill yn siarad nonsens annealladwy am Jenkins :) Wel, mae gennym Jenkins, mae'n adeiladu, CI! Yn ystod yr adroddiad, byddaf yn ceisio egluro beth yw Integreiddio Parhaus mewn gwirionedd a pham mae gan Jenkins ac offer tebyg berthynas wan iawn â hyn.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Felly, beth sy'n dod i'r meddwl fel arfer pan glywch chi'r gair CI? Bydd y rhan fwyaf o bobl yn meddwl am Jenkins, Gitlab CI, Travis, ac ati.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Hyd yn oed os byddwn yn ei google, bydd yn rhoi'r offer hyn i ni.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Os ydych chi'n gyfarwydd â gofyn, yna yn syth ar ôl rhestru'r offer, byddant yn dweud wrthych mai CI yw pan fyddwch chi'n adeiladu ac yn rhedeg profion mewn Cais Tynnu am ymrwymiad.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Nid yw Integreiddio Parhaus yn ymwneud ag offer, nid gwasanaethau gyda phrofion yn y gangen! Integreiddio Parhaus yw'r arfer o integreiddio cod newydd yn aml iawn ac i'w ddefnyddio nid oes angen ffensio Jenkins, GitLab, ac ati o gwbl.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Cyn i ni ddarganfod sut olwg sydd ar CI llawn, gadewch i ni blymio yn gyntaf i gyd-destun y bobl a feddyliodd amdano a theimlo'r boen yr oeddent yn ceisio ei ddatrys.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Ac fe wnaethon nhw ddatrys y boen o gydweithio fel tîm!

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Edrychwn ar enghreifftiau o'r anawsterau y mae datblygwyr yn eu hwynebu wrth ddatblygu mewn timau. Yma mae gennym brosiect, prif gangen mewn git a dau ddatblygwr.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

A dyma nhw'n mynd i weithio fel roedd pawb wedi hen arfer ag e. Fe wnaethom gymryd tasg yn y cynllun mawreddog o bethau, creu cangen nodwedd, ac ysgrifennu'r cod.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Gorffennodd un y nodwedd yn gyflymach a'i uno â'r meistr.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Roedd angen mwy o amser ar yr ail un, unodd yn ddiweddarach a daeth gwrthdaro i ben. Nawr, yn lle ysgrifennu'r nodweddion sydd eu hangen ar y busnes, mae'r datblygwr yn treulio ei amser a'i egni yn datrys gwrthdaro.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Po fwyaf anodd yw hi i gyfuno'ch nodwedd â meistr cyffredin, y mwyaf o amser rydyn ni'n ei dreulio arno. A dangosais hyn gydag enghraifft eithaf syml. Dyma enghraifft lle nad oes ond 2 ddatblygwr.Dychmygwch os yw 10 neu 15 neu 100 o bobl mewn cwmni yn ysgrifennu at un gadwrfa. Byddwch yn mynd yn wallgof i ddatrys yr holl wrthdaro hyn.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Mae achos ychydig yn wahanol. Mae gennym feistr a rhai datblygwyr yn gwneud rhywbeth.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Fe wnaethon nhw greu brigyn.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Bu farw un, roedd popeth yn iawn, pasiodd y dasg.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Yn y cyfamser, cyflwynodd yr ail ddatblygwr ei dasg. Gadewch i ni ddweud iddo ei anfon i'w adolygu. Mae gan lawer o gwmnïau bractis o'r enw adolygiad. Ar y naill law, mae'r arfer hwn yn dda ac yn ddefnyddiol, ar y llaw arall, mae'n ein arafu mewn sawl ffordd. Nid awn i mewn i hynny, ond dyma enghraifft wych o'r hyn y gall stori adolygu wael arwain ato. Rydych wedi cyflwyno cais tynnu am adolygiad. Nid oes dim mwy i'r datblygwr ei wneud. Beth mae'n dechrau ei wneud? Mae'n dechrau ymgymryd â thasgau eraill.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Yn ystod yr amser hwn, gwnaeth yr ail ddatblygwr rywbeth arall.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Cwblhaodd yr un gyntaf y drydedd dasg.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Ac ar ôl peth amser hir, cafodd ei adolygiad ei brofi, ac mae'n ceisio dod i delerau. Felly beth sy'n mynd ymlaen? Mae'n dal nifer enfawr o wrthdaro. Pam? Oherwydd er bod ei gais tynnu yn hongian yn yr adolygiad, roedd llawer o bethau eisoes wedi newid yn y cod.

Yn ogystal â'r stori gyda gwrthdaro, mae stori gyda chyfathrebu. Tra bod eich edefyn yn aros am adolygiad, tra ei fod yn aros am rywbeth, tra'ch bod chi'n gweithio ar nodwedd am amser hir, rydych chi'n rhoi'r gorau i olrhain beth arall sy'n newid yn sylfaen cod eich gwasanaeth. Efallai bod yr hyn rydych chi'n ceisio'i ddatrys nawr wedi'i ddatrys ddoe a gallwch chi gymryd rhyw ddull a'i ailddefnyddio. Ond ni fyddwch yn gweld hyn oherwydd eich bod bob amser yn gweithio gyda changen sydd wedi dyddio. Ac mae'r gangen hen ffasiwn hon bob amser yn golygu bod yn rhaid i chi ddatrys gwrthdaro uno.

Mae'n ymddangos, os ydym yn gweithio fel tîm, h.y., nid yw un person yn procio o gwmpas yn y gadwrfa, ond 5-10 o bobl, yna po hiraf nad ydym yn ychwanegu ein cod at y meistr, y mwyaf y byddwn yn dioddef oherwydd yn y pen draw mae angen arnom. rhywbeth wedyn yn ei uno. A pho fwyaf o wrthdaro sydd gennym, a'r fersiwn hŷn yr ydym yn gweithio gyda hi, y mwyaf o broblemau sydd gennym.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Mae gwneud rhywbeth gyda'ch gilydd yn boenus! Rydyn ni bob amser yn ymyrryd â'n gilydd.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Sylwyd ar y broblem hon fwy nag 20 mlynedd yn ôl. Cefais y cyfeiriad cyntaf at yr arfer o Integreiddio Parhaus mewn Rhaglennu Eithafol.

Rhaglennu Eithafol yw'r fframwaith ystwyth cyntaf. Ymddangosodd y dudalen yn 96. A'r syniad oedd defnyddio rhyw fath o arferion rhaglennu, cynllunio a phethau eraill, fel y byddai'r datblygiad mor hyblyg â phosibl, fel y gallem ymateb yn gyflym i unrhyw newidiadau neu ofynion gan ein cleientiaid. Ac fe ddechreuon nhw wynebu hyn 24 mlynedd yn ôl, os ydych chi'n gwneud rhywbeth am amser hir iawn ac ar y llinell ochr, yna rydych chi'n treulio mwy o amser arno oherwydd bod gennych wrthdaro.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Nawr byddwn yn dadansoddi'r ymadrodd “Integreiddio Parhaus” yn unigol. Os byddwn yn ei gyfieithu'n uniongyrchol, rydym yn cael integreiddio parhaus. Ond nid yw pa mor barhaus ydyw yn glir iawn; mae'n amharhaol iawn. Ond nid yw faint o integreiddio sydd ganddo hefyd yn amlwg iawn.

A dyna pam rwy'n rhoi dyfyniadau o Raglennu Eithafol ichi nawr. A byddwn yn dadansoddi'r ddau air ar wahân.

Integreiddio - Fel y dywedais eisoes, rydym yn ymdrechu i sicrhau bod pob peiriannydd yn gweithio gyda'r fersiwn mwyaf cyfredol o'r cod, fel ei fod yn ymdrechu i ychwanegu ei god mor aml â phosibl at gangen gyffredin, fel bod y rhain yn ganghennau bach. Oherwydd os ydynt yn fawr, yna gallwn yn hawdd fynd yn sownd â gwrthdaro uno am wythnos. Mae hyn yn arbennig o wir os oes gennym gylch datblygu hir fel rhaeadr, lle aeth y datblygwr i ffwrdd am fis i dorri rhywfaint o nodwedd enfawr. A bydd yn sownd yn y cam integreiddio am amser hir iawn.

Integreiddio yw pan fyddwn yn cymryd ein cangen a'i integreiddio â'r meistr, rydym yn ei uno. Mae opsiwn yn y pen draw pan fyddwn yn ddatblygwr transbase, lle rydym yn ymdrechu i sicrhau ein bod yn ysgrifennu ar unwaith at y meistr heb unrhyw ganghennau ychwanegol.

Yn gyffredinol, mae integreiddio yn golygu cymryd eich cod a'i lusgo i'r meistr.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Beth a olygir yma wrth y gair “parhaus”, yr hyn a elwir yn barhad? Mae arfer yn awgrymu bod y datblygwr yn ymdrechu i integreiddio ei god cyn gynted â phosibl. Dyma ei nod wrth gyflawni unrhyw dasg - i gael ei god yn feistr cyn gynted â phosibl. Mewn byd delfrydol, byddai datblygwyr yn gwneud hyn bob ychydig oriau. Hynny yw, rydych chi'n cymryd problem fach ac yn ei uno â'r meistr. Mae popeth yn wych. Dyma beth rydych chi'n ymdrechu amdano. Ac mae'n rhaid gwneud hyn yn barhaus. Cyn gynted ag y gwnewch rywbeth, rydych chi'n ei roi yn y meistr ar unwaith.

Ac mae'r datblygwr sy'n gwneud rhywbeth yn gyfrifol am yr hyn a wnaeth i wneud iddo weithio a pheidio â thorri unrhyw beth. Dyma lle mae stori'r prawf yn dod allan fel arfer. Rydym am gynnal rhai profion ar ein hymrwymiad, ar ein huno, i wneud yn siŵr ei fod yn gweithio. A dyma lle gall Jenkins eich helpu chi.

Ond gyda straeon: gadewch i ni wneud y newidiadau'n fach, gadewch i ni adael i'r tasgau fod yn fach, gadewch i ni wneud problem a cheisio'i ymgorffori ar unwaith yn y meistr - ni fydd unrhyw Jenkins yn helpu yma. Oherwydd bydd Jenkins ond yn eich helpu i redeg profion.

Gallwch chi wneud hebddynt. Ni fydd hyn yn eich brifo o gwbl. Oherwydd mai nod ymarfer yw mesur mor aml â phosibl, er mwyn peidio â gwastraffu llawer iawn o amser ar unrhyw wrthdaro yn y dyfodol.

Gadewch i ni ddychmygu ein bod ni yn 2020 heb y Rhyngrwyd am ryw reswm. Ac rydym yn gweithio'n lleol. Nid oes gennym Jenkins. Mae hyn yn iawn. Gallwch barhau i wneud cangen leol. Fe wnaethoch chi ysgrifennu rhywfaint o god ynddo. Fe wnaethom gwblhau'r dasg mewn 3-4 awr. Rydym yn newid i feistr, yn tynnu git, ac yn uno ein cangen yno. Yn barod. Os gwnewch hyn yn aml, llongyfarchiadau, mae gennych Integreiddio Parhaus!

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Pa dystiolaeth sydd yn y byd modern ei bod yn werth gwario egni arni? Oherwydd yn gyffredinol mae'n anodd. Os ceisiwch weithio fel hyn, byddwch yn deall yr effeithir ar rywfaint o gynllunio nawr, bydd yn rhaid ichi neilltuo mwy o amser i dasgau dadelfennu. Oherwydd os gwnewch ddyn..., yna ni fyddwch yn gallu dod i delerau'n gyflym ac, yn unol â hynny, byddwch yn mynd i drafferth. Ni fydd gennych ymarfer mwyach.

A bydd yn ddrud. Ni fydd yn bosibl gweithio ar unwaith o yfory ymlaen gan ddefnyddio Integreiddio Parhaus. Bydd yn cymryd amser hir iawn i chi ddod i arfer ag ef, bydd yn cymryd amser hir iawn i chi ddod i arfer â thasgau dadelfennu, bydd yn cymryd amser hir iawn i ddod i arfer ag ail-wneud yr arfer adolygu, os oes gennych chi un . Oherwydd ein nod yw iddo doddi heddiw. Ac os gwnewch adolygiad o fewn tri diwrnod, yna mae gennych broblemau ac nid yw Integreiddio Parhaus yn gweithio i chi.

Ond a oes gennym unrhyw dystiolaeth berthnasol ar hyn o bryd sy'n dweud wrthym fod buddsoddi yn yr arfer hwn yn gwneud synnwyr?

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Y peth cyntaf a ddaeth i'm meddwl oedd State of DevOps. Mae hon yn astudiaeth y mae'r dynion wedi bod yn ei chynnal ers 7 mlynedd. Nawr maen nhw'n ei wneud fel sefydliad annibynnol, ond o dan Google.

A dangosodd eu hastudiaeth yn 2018 gydberthynas rhwng cwmnïau sy'n ceisio defnyddio canghennau byrhoedlog sy'n integreiddio'n gyflym, yn integreiddio'n aml, ac sydd â gwell dangosyddion perfformiad TG.

Beth yw'r dangosyddion hyn? Mae'r rhain yn 4 metrig y maent yn eu cymryd gan bob cwmni yn eu holiaduron: amlder defnyddio, amser arweiniol ar gyfer newidiadau, amser i adfer gwasanaeth, newid cyfradd methiant.

Ac, yn gyntaf, mae'r gydberthynas hon, rydym yn gwybod bod gan gwmnïau sy'n mesur yn aml fetrigau llawer gwell. Ac mae ganddynt raniad o gwmnïau i sawl categori: mae'r rhain yn gwmnïau araf sy'n cynhyrchu rhywbeth yn araf, perfformiwr canolig, perfformiwr uchel ac elitaidd. Yr elitaidd yw Netflix, Amazon, sy'n hynod gyflym, yn gwneud popeth yn gyflym, yn hyfryd ac yn effeithlon.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Yr ail stori, a ddigwyddodd union fis yn ôl. Mae gan Radar Technoleg erthygl wych am Gitflow. Mae Gitflow yn wahanol i bob un arall gan fod ei ganghennau yn hirhoedlog. Mae yna ganghennau rhyddhau sy'n byw am amser hir, a changhennau nodwedd sydd hefyd yn byw am amser hir. Mae'r arfer hwn yn Technology Radar wedi symud i HOLD. Pam? Oherwydd bod pobl yn wynebu'r boen o integreiddio.

Os yw eich cangen yn byw am amser hir iawn, mae'n mynd yn sownd, yn pydru, ac rydym yn dechrau treulio mwy o amser yn ceisio gwneud rhyw fath o newid iddi.

Ac yn ddiweddar dywedodd awdur Gitflow, os mai Integreiddio Parhaus yw'ch nod, os mai'ch nod yw eich bod am rolio mor aml â phosib, yna mae Gitflow yn syniad gwael. Ychwanegodd ar wahân at yr erthygl, os oes gennych chi backend lle gallwch chi ymdrechu am hyn, yna mae Gitflow yn ddiangen i chi, oherwydd bydd Gitflow yn eich arafu, bydd Gitflow yn creu problemau i chi gydag integreiddio.

Nid yw hyn yn golygu bod Gitflow yn ddrwg ac ni ddylid ei ddefnyddio. Mae ar gyfer achlysuron eraill. Er enghraifft, pan fydd angen i chi gefnogi sawl fersiwn o wasanaeth neu raglen, h.y. pan fydd angen cymorth arnoch am gyfnod hir.

Ond os siaradwch â phobl sy'n cefnogi gwasanaethau o'r fath, byddwch yn clywed llawer o boen am y ffaith bod y fersiwn hon yn 3.2, sef 4 mis yn ôl, ond nid oedd yr atgyweiriad hwn wedi'i gynnwys ynddo ac yn awr, er mwyn ei wneud, mae angen i chi wneud llawer o newidiadau. A nawr maen nhw'n sownd eto, a nawr maen nhw wedi bod yn chwarae o gwmpas ers wythnos yn ceisio gweithredu rhyw nodwedd newydd.

Fel y nododd Alexander Kovalev yn gywir yn y sgwrs, nid yw cydberthynas yr un peth ag achosiaeth. Mae hyn yn wir. Hynny yw, nid oes unrhyw gysylltiad uniongyrchol, os oes gennych Integreiddio Parhaus, yna bydd yr holl fetrigau yn wych. Ond mae yna gydberthynas gadarnhaol, os yw un yn un, yna mae'r llall yn fwyaf tebygol hefyd. Ddim yn ffaith, ond yn fwyaf tebygol. Dim ond cydberthynas ydyw.

Integreiddiad Parhaus fel arfer, nid Jenkins. Andrey Alexandrov

Mae’n ymddangos ein bod eisoes yn gwneud rhywbeth, mae’n ymddangos ein bod eisoes yn uno, ond sut y gallwn ddeall bod gennym Integreiddio Parhaus o hyd, ein bod yn uno yn eithaf aml?

Jez Humble yw awdur Handbook, Accelerate, gwefan Continuous Delivery, a'r llyfr Continuous Delivery. Mae'n cynnig y prawf hwn:

  • Mae cod y peiriannydd yn cyrraedd y meistr bob dydd.
  • Am bob ymrwymiad rydych chi'n cynnal profion uned.
  • Syrthiodd yr adeiladu yn y meistr, fe'i gosodwyd mewn tua 10 munud.

Mae'n awgrymu defnyddio prawf fel hyn i wneud yn siŵr bod gennych chi ddigon o ymarfer.

Rwy'n gweld yr olaf ychydig yn ddadleuol. Hynny yw, os gallwch chi ei drwsio mewn 10 munud, yna mae gennych chi Integreiddio Parhaus, mae'n swnio ychydig yn rhyfedd, yn fy marn i, ond mae'n gwneud synnwyr. Pam? Oherwydd os ydych chi'n rhewi'n aml, mae'n golygu bod eich newidiadau'n fach. Os yw newid bach yn golygu bod eich prif adeilad wedi torri, yna gallwch ddod o hyd i enghraifft yn gyflym oherwydd bod y newid yn fach. Yma roedd gennych gyfuniad bach, newidiodd 20-30 llinell ynddo. Ac, yn unol â hynny, gallwch chi ddeall yn gyflym beth oedd y rheswm, oherwydd bod y newidiadau'n fach iawn, mae gennych chi ardal fach iawn i chwilio am y broblem.

A hyd yn oed os bydd ein cynnyrch yn disgyn yn ddarnau ar ôl y rhyddhau, yna os oes gennym yr arfer o Integreiddio Parhaus, mae'n llawer haws i ni weithredu, oherwydd mae'r newidiadau yn fach iawn. Bydd, bydd hyn yn effeithio ar gynllunio. Bydd hyn yn brifo. Ac, yn ôl pob tebyg, y peth anoddaf yn yr arfer hwn yw dod i arfer â chwalu tasgau, hynny yw, sut i'w wneud fel y gallwch chi gymryd rhywbeth a'i wneud mewn ychydig oriau ac ar yr un pryd basio adolygiad, os mae gennych chi un. Mae adolygiad yn boen ar wahân.

Mae profion uned yn gynorthwyydd yn unig sy'n eich helpu i ddeall a oedd eich integreiddio'n llwyddiannus ac a oedd unrhyw beth wedi'i dorri. Yn fy marn i, nid yw hyn yn gwbl orfodol ychwaith, oherwydd nid dyma'r pwynt ymarfer.

Dyma gyflwyniad byr i Integreiddio Parhaus. Dyna'r cyfan sydd i'r arfer hwn. Rwy'n barod am gwestiynau.

Fe wnaf i grynhoi'n fyr eto:

  • Nid Jenkins yw Integreiddio Parhaus, nid Gitlab mohono.
  • Nid yw hwn yn offeryn, mae'n arfer ein bod yn uno ein cod i'r meistr mor aml â phosib.
  • Gwnawn hyn er mwyn osgoi'r boen enfawr sy'n codi gydag uno yn y dyfodol, hynny yw, rydym yn profi ychydig o boen nawr er mwyn peidio â phrofi mwy yn y dyfodol. Dyna'r holl bwynt.
  • Ar yr ochr mae cyfathrebu trwy god, ond anaml iawn y byddaf yn gweld hyn, ond dyma'r hyn y'i cynlluniwyd ar ei gyfer hefyd.

cwestiynau

Beth i'w wneud â thasgau nad ydynt yn pydru?

Dadelfennu. Beth yw'r broblem? A allwch chi roi enghraifft bod yna dasg ac nad yw wedi'i dadelfennu?

Mae yna dasgau na ellir eu dadelfennu o'r gair “hollol”, er enghraifft, y rhai sydd angen arbenigedd dwfn iawn ac y gellir eu datrys mewn gwirionedd dros gyfnod o fis i gyflawni rhywfaint o ganlyniad treuliadwy.

Os wyf yn eich deall yn iawn, yna mae yna dasg fawr a chymhleth, a dim ond mewn mis y bydd y canlyniad yn weladwy?

Ydy Mae hynny'n gywir. Oes, bydd yn bosibl gwerthuso'r canlyniad heb fod yn gynharach nag mewn mis.

Iawn. Yn gyffredinol nid yw hyn yn broblem. Pam? Oherwydd yn yr achos hwn, pan fyddwn yn siarad am frigau, nid ydym yn sôn am frigyn gyda nodwedd. Gall nodweddion fod yn fawr ac yn gymhleth. Gallant effeithio ar nifer fawr o gydrannau. Ac efallai na allwn eu gwneud yn gyfan gwbl mewn un gangen. Mae hyn yn iawn. Does ond angen i ni dorri'r stori hon i lawr. Os nad yw nodwedd yn gwbl barod, nid yw hyn yn golygu na ellir uno rhai darnau o'i god. Fe wnaethoch chi ychwanegu, dyweder, mudo ac mae rhai camau y tu mewn i'r nodwedd. Gadewch i ni ddweud bod gennych chi lwyfan - ymfudiad, ychwanegwch ddull newydd. A gallwch chi eisoes fesur y pethau hyn bob dydd.

Iawn. Beth yw'r pwynt felly?

Beth yw pwynt lladd pethau bach bob dydd?

Ydw.

Os ydyn nhw'n torri rhywbeth, rydych chi'n ei weld ar unwaith. Mae gennych chi ddarn bach sydd wedi torri rhywbeth, mae'n haws i chi ei drwsio. Y pwynt yw bod uno darn bach nawr yn llawer haws nag uno rhywbeth mawr mewn ychydig wythnosau. A'r trydydd pwynt yw y bydd peirianwyr eraill yn gweithio gyda'r fersiwn gyfredol o'r cod. Byddant yn gweld bod rhai ymfudiadau wedi'u hychwanegu yma, ac yna mae rhyw ddull wedi ymddangos y gallent fod am ei ddefnyddio hefyd. Bydd pawb yn gweld beth sy'n digwydd yn eich cod. Am y tri pheth hyn y gwneir ymarferiad.

Diolch, mae'r mater ar gau!

(Oleg Soroka) Ga i ychwanegu? Fe ddywedoch chi bopeth yn gywir, rydw i eisiau ychwanegu un ymadrodd.

Felly.

Gyda Integreiddio Parhaus, mae'r cod yn cael ei uno i gangen gyffredin nid pan fydd y nodwedd yn hollol barod, ond pan fydd yr adeiladwaith yn stopio torri. A gallwch chi ymrwymo'n ddiogel i feistroli cymaint o weithiau'r dydd ag y dymunwch. Yr ail agwedd yw, os na allwch, am ryw reswm, dorri'r dasg fisol yn dasgau am o leiaf dri diwrnod, yr wyf yn dawel am ryw dair awr, yna mae gennych broblem enfawr. A'r ffaith nad oes gennych chi Integreiddio Parhaus yw'r lleiaf o'r problemau hyn. Mae hyn yn golygu eich bod yn cael problemau gyda phensaernïaeth a sero arferion peirianneg. Oherwydd hyd yn oed os mai ymchwil yw hwn, yna beth bynnag mae'n rhaid ei lunio ar ffurf damcaniaethau neu gylchred.

Buom yn siarad am 4 metrig sy'n gwahaniaethu rhwng cwmnïau llwyddiannus a rhai ar ei hôl hi. Mae'n rhaid i ni fyw o hyd i weld y 4 metrig hyn. Os yw'ch tasg gyfartalog yn cymryd mis i'w chwblhau, yna byddwn yn canolbwyntio ar y metrig hwn yn gyntaf. Byddwn yn ei ostwng i 3 diwrnod yn gyntaf. Ac ar ôl hynny dechreuais feddwl am Continuous.

A ddeallais yn iawn eich bod yn meddwl yn gyffredinol nad oes diben buddsoddi mewn arferion peirianneg os bydd unrhyw dasg yn cymryd mis i’w chwblhau?

Mae gennych Integreiddiad Parhaus. Ac mae yna bwnc o'r fath fel y gallwch chi naill ai drwsio atgyweiriad neu ei rolio'n ôl ymhen 10 munud. Dychmygwch eich bod wedi ei gyflwyno. Ar ben hynny, mae gennych chi hyd yn oed ddefnydd parhaus, fe wnaethoch chi ei gyflwyno i brolio a dim ond wedyn sylwi bod rhywbeth wedi mynd o'i le. Ac mae angen i chi ei rolio'n ôl, ond rydych chi eisoes wedi mudo'ch cronfa ddata. Mae gennych chi sgema cronfa ddata'r fersiwn nesaf eisoes, ar ben hynny, roedd gennych chi hefyd ryw fath o gopi wrth gefn, ac ysgrifennwyd y data yno hefyd.

A pha ddewis arall sydd gennych chi? Os ydych chi'n rholio'r cod yn ôl, yna ni all weithio gyda'r gronfa ddata hon sydd wedi'i diweddaru mwyach.

Dim ond symud ymlaen y mae'r sylfaen, ie.

Mae'n debyg nad yw pobl sydd ag arferion peirianneg gwael wedi darllen y llyfr trwchus am ... chwaith. Beth i'w wneud gyda'r copi wrth gefn? Os byddwch chi'n adfer o gopi wrth gefn, mae'n golygu eich bod chi'n colli'r data rydych chi wedi'i gronni yn ystod y foment honno. Er enghraifft, buom yn gweithio am dair awr gyda'r fersiwn newydd o'r gronfa ddata, defnyddwyr a gofrestrwyd yno. Rydych chi'n gwrthod yr hen gopi wrth gefn oherwydd nad yw'r cynllun yn gweithio gyda'r fersiwn newydd, felly rydych chi wedi colli'r defnyddwyr hyn. Ac maent yn anfodlon, maent yn tyngu.

Er mwyn meistroli'r ystod lawn o arferion sy'n cefnogi Integreiddio Parhaus a Chyflenwi Parhaus, nid yw'n ddigon dysgu sut i ysgrifennu yn unig. Yn gyntaf, gall fod llawer ohonynt, bydd yn anymarferol. Hefyd mae yna griw o arferion eraill fel Gwyddonol. Mae arfer o'r fath, fe wnaeth GitHub ei boblogeiddio ar un adeg. Dyma pan fydd gennych chi hen god a chod newydd yn rhedeg ar yr un pryd. Dyma pan fyddwch chi'n gwneud nodwedd anorffenedig, ond gall ddychwelyd rhywfaint o werth: naill ai fel swyddogaeth neu fel API Rest. Rydych chi'n gweithredu'r cod newydd a'r hen god, ac yn cymharu'r gwahaniaeth rhyngddynt. Ac os oes gwahaniaeth, yna rydych chi'n cofnodi'r digwyddiad hwn. Fel hyn rydych chi'n gwybod bod gennych chi nodwedd newydd yn barod i'w chyflwyno ar ben yr hen un os nad ydych chi wedi bod ag anghysondeb rhwng y ddau ers amser penodol.

Mae cannoedd o arferion o'r fath. Byddwn yn awgrymu dechrau gyda datblygiad transbase. Nid yw hi'n 100% ar Integreiddio Parhaus, ond mae'r arferion yr un peth, ni all un fyw'n dda heb y llall.

Wnaethoch chi roi datblygiad transbase fel enghraifft lle gallwch chi weld arferion neu a ydych chi'n awgrymu bod pobl yn dechrau defnyddio debelopment transbase?

Edrychwch, oherwydd ni fyddant yn gallu ei ddefnyddio. Er mwyn eu defnyddio, mae angen ichi ddarllen llawer. A phan fydd person yn gofyn: “Beth i'w wneud â nodwedd sy'n cymryd mis, mae'n golygu nad yw wedi darllen am ddatblygiad traws-sail.” Ni fyddwn yn ei argymell eto. Byddwn yn cynghori canolbwyntio'n unig ar y pwnc o sut i dorri tasgau mawr yn bensaernïol yn gywir yn rhai llai. Dyma hanfod dadelfeniad.

Mae dadelfeniad yn un o offer y pensaer. Rydym yn gwneud dadansoddiad yn gyntaf, yna dadelfennu, yna synthesis, yna integreiddio. A dyma sut mae popeth yn gweithio allan i ni. Ac mae angen inni dyfu o hyd i Integreiddio Parhaus trwy ddadelfennu. Mae cwestiynau’n codi yn y cam cyntaf, ac rydym eisoes yn sôn am y pedwerydd cam, h.y. po amlaf rydym yn integreiddio, gorau oll. Mae’n dal yn rhy gynnar i wneud hyn; byddai’n braf torri eich monolith yn gyntaf.

Mae angen i chi dynnu nifer o saethau a sgwariau ar ryw ddiagram. Ni allwch ddweud y byddaf nawr yn dangos y diagram pensaernïol o gais newydd ac yn dangos un sgwâr, y tu mewn iddo mae botwm gwyrdd ar gyfer y cais. Mewn unrhyw achos, bydd mwy o sgwariau a saethau. Roedd gan bob diagram a welais fwy nag un. Ac mae dadelfennu, hyd yn oed ar lefel cynrychiolaeth graffigol, eisoes yn digwydd. Felly, gellir gwneud y sgwariau'n annibynnol. Os na, yna mae gennyf gwestiynau mawr i'r pensaer.

Mae cwestiwn o’r sgwrs: “Os yw adolygiad yn orfodol ac yn cymryd amser hir, efallai diwrnod neu fwy?”

Mae gennych broblemau gydag ymarfer. Ni ddylai'r adolygiad bara diwrnod neu fwy. Dyma'r un stori â'r cwestiwn blaenorol, dim ond ychydig yn fwy meddal. Os bydd adolygiad yn mynd ymlaen am ddiwrnod, yna yn fwyaf tebygol mae'r adolygiad hwn yn mynd ar newid mawr iawn. Mae hyn yn golygu bod angen ei wneud yn llai. Mewn datblygiad transbase, a argymhellodd Oleg, mae stori o'r enw adolygiad parhaus. Ei syniad hi yw ein bod yn gwneud cais tynnu mor fach yn bwrpasol, oherwydd ein bod yn ymdrechu i uno'n gyson ac ychydig ar y tro. Ac felly mae'r cais tynnu yn newid un tyniad neu 10 llinell. Diolch i'r adolygiad hwn, mae'n cymryd ychydig o funudau inni.

Os bydd yr adolygiad yn cymryd diwrnod neu fwy, mae rhywbeth o'i le. Yn gyntaf, efallai y bydd gennych rai problemau gyda'r bensaernïaeth. Neu mae hwn yn ddarn mawr o god, 1 o linellau, er enghraifft. Neu mae eich pensaernïaeth mor gymhleth na all person ei ddeall. Mae hon yn broblem ychydig i'r ochr, ond bydd yn rhaid ei datrys hefyd. Efallai nad oes angen adolygiad o gwbl. Mae angen inni feddwl am hyn hefyd. Adolygu yw'r peth sy'n eich arafu. Mae ganddo ei fanteision yn gyffredinol, ond mae angen i chi ddeall pam rydych chi'n ei wneud. A yw hyn yn ffordd i chi gyfleu gwybodaeth yn gyflym, a yw hyn yn ffordd i chi osod rhai safonau yn fewnol neu beth? Pam mae angen hyn arnoch chi? Oherwydd bod angen gwneud yr adolygiad naill ai'n gyflym iawn neu ei ganslo'n gyfan gwbl. Mae fel transbase deveploment - mae'r stori yn brydferth iawn, ond dim ond i fechgyn aeddfed.

O ran y 4 metrig, byddwn yn dal i argymell cael gwared arnynt i ddeall beth mae hyn yn arwain ato. Edrychwch ar y niferoedd, edrychwch ar y llun, pa mor ddrwg yw popeth.

(Dmitry) Rwy'n barod i ddechrau trafodaeth am hyn gyda chi. Mae niferoedd a metrigau i gyd yn wych, mae arferion yn wych. Ond mae angen i chi ddeall a oes ei angen ar y busnes. Mae yna fusnesau nad oes angen y math hwnnw o gyflymder newid arnynt. Gwn am gwmnïau lle na ellir gwneud newidiadau bob 15 munud. Ac nid oherwydd eu bod mor ddrwg. Mae hwn yn gylch bywyd o'r fath. Ac i wneud nodwedd y canghennau, y nodwedd togl, mae angen gwybodaeth ddofn arnoch.

Mae'n gymhleth. Os ydych chi am ddarllen y stori am y nodwedd togl yn fwy manwl, rwy'n ei hargymell yn fawr https://trunkbaseddevelopment.com/. Ac mae yna erthygl wych gan Martin Fowler am nodweddion togl: pa fathau sydd yna, cylchoedd bywyd, ac ati. Mae'r nodwedd togl yn gymhleth.

A dydych chi dal heb ateb y cwestiwn: “A oes angen Jenkins ai peidio?”

Nid oes angen Jenkins beth bynnag mewn gwirionedd. Ond o ddifrif, bydd yr offer: Jenkins, Gitlab yn dod â chyfleustra i chi. Fe welwch fod y cynulliad wedi'i ymgynnull neu nad yw wedi'i ymgynnull. Gallant eich helpu, ond ni fyddant yn rhoi ymarfer i chi. Dim ond cylch y gallant ei roi i chi - Iawn, nid Iawn. Ac yna, os ydych chi hefyd yn ysgrifennu profion, oherwydd os nad oes profion, yna mae bron yn ddibwrpas. Felly, mae ei angen oherwydd ei fod yn fwy cyfleus, ond yn gyffredinol gallwch chi fyw hebddo, ni fyddwch yn colli llawer.

Hynny yw, os oes gennych chi bractisau, a yw hynny'n golygu nad oes ei angen arnoch chi?

Mae hynny'n iawn. Rwy'n argymell y prawf Jez Humble. Yno mae gennyf agwedd amwys tuag at y pwynt olaf. Ond yn gyffredinol, os oes gennych dri pheth, rydych chi'n uno'n gyson, rydych chi'n cynnal profion ar ymrwymiadau yn y meistr, rydych chi'n trwsio'r adeiladwaith yn y meistr yn gyflym, yna efallai nad oes angen unrhyw beth arall arnoch chi.

Tra ein bod yn aros am gwestiynau gan gyfranogwyr, mae gennyf gwestiwn. Roeddem yn siarad am y cod cynnyrch yn unig. Ydych chi wedi ei ddefnyddio ar gyfer cod seilwaith? Ai'r un cod ydyw, a oes ganddo'r un egwyddorion a'r un cylch bywyd, neu a oes cylchoedd ac egwyddorion bywyd gwahanol? Fel arfer, pan fydd pawb yn sôn am Integreiddio a Datblygu Parhaus, mae pawb yn anghofio bod yna god seilwaith hefyd. Ac yn ddiweddar bu mwy a mwy ohono. Ac a ddylid dwyn yr holl reolau hyn yno?

Nid hyd yn oed y dylai fod, byddai'n wych oherwydd byddai'n gwneud bywyd yn haws yn yr un ffordd. Cyn gynted ag y byddwn yn gweithio gyda chod, nid gyda sgriptiau bash, ond mae gennym god arferol.

Stopiwch, stopiwch, mae sgript bash hefyd yn god. Paid a chyffwrdd fy hen gariad.

Iawn, ni fyddaf yn sathru ar eich atgofion. Mae gen i atgasedd personol at bash. Mae'n torri'n hyll ac yn frawychus drwy'r amser. Ac yn aml mae'n torri'n anrhagweladwy, a dyna pam nad wyf yn ei hoffi. Ond iawn, gadewch i ni ddweud bod gennych chi god bash. Efallai nad ydw i wir yn deall ac mae yna fframweithiau profi arferol ar gael. Dydw i ddim yn gwybod. Ac rydym yn cael yr un manteision.

Cyn gynted ag y byddwn yn gweithio gyda seilwaith fel cod, rydym yn cael yr un problemau â datblygwyr. Ychydig fisoedd yn ôl, deuthum ar draws sefyllfa lle anfonodd cydweithiwr gais tynnu ataf am 1 o linellau mewn bash. Ac rydych chi'n hongian allan yn yr adolygiad am 000 awr. Mae'r un problemau'n codi. Mae'n dal i fod yn god. Ac mae'n gydweithrediad o hyd. Rydym yn mynd yn sownd â'r cais tynnu ac rydym yn mynd yn sownd â'r ffaith ein bod yn datrys yr un gwrthdaro uno yn yr un bash, er enghraifft.

Rwyf bellach yn edrych yn weithredol iawn ar yr holl beth hwn ar y rhaglennu infra mwyaf prydferth. Rwyf bellach wedi dod â Pulumi i'r seilwaith. Dyma raglennu yn ei ffurf buraf. Yno mae hyd yn oed yn brafiach, oherwydd mae gen i holl alluoedd iaith raglennu, h.y. gwnes i doglo hardd allan o'r glas gyda'r un ifs ac mae popeth yn iawn. Hynny yw, mae fy nghyfnewidiad eisoes yn y meistr. Gall pawb ei weld yn barod. Mae peirianwyr eraill yn gwybod amdano. Mae eisoes wedi dylanwadu ar rywbeth yno. Fodd bynnag, ni chafodd ei alluogi ar gyfer pob seilwaith. Trodd ymlaen ar gyfer fy meinciau prawf, er enghraifft. Felly, i ateb eich cwestiwn eto, mae'n angenrheidiol. Mae'n gwneud bywyd yn haws i ni, fel peirianwyr sy'n gweithio gyda chod, yn yr un ffordd.

Os oes gan unrhyw un arall gwestiynau?

Mae gen i cwestiwn. Rwyf am barhau â'r drafodaeth gydag Oleg. Yn gyffredinol, credaf eich bod yn iawn, os yw tasg yn cymryd mis i'w chwblhau, yna mae gennych broblem gyda phensaernïaeth, mae gennych broblem gyda dadansoddi, dadelfennu, cynllunio, ac ati. Ond mae gen i deimlad os byddwch chi'n dechrau ceisio byw yn ôl Integreiddio Parhaus, yna byddwch yn dechrau cywiro'r boen gyda chynllunio, oherwydd ni fyddwch yn dianc oddi wrtho yn unman arall.

(Oleg) Ydy, mae hynny'n iawn. Mae'r arfer hwn yn debyg mewn ymdrech i unrhyw arfer difrifol arall sy'n newid diwylliant. Y peth anoddaf i'w oresgyn yw arferion, yn enwedig arferion gwael. Ac os, er mwyn gweithredu'r arfer hwn, mae angen newid difrifol yn arferion y rhai o'ch cwmpas: datblygwyr, rheolwyr, rheolwr cynhyrchu, yna mae syrpreis yn aros amdanoch chi.

Pa bethau annisgwyl allai fod? Gadewch i ni ddweud eich bod yn penderfynu y byddwch yn integreiddio'n amlach. Ac mae gennych rai pethau eraill sy'n gysylltiedig ag integreiddio, er enghraifft, arteffactau. Ac yn eich cwmni, er enghraifft, mae yna bolisi y mae'n rhaid rhoi cyfrif am bob arteffact mewn rhyw ffordd mewn rhyw fath o system storio arteffactau. Ac mae'n cymryd peth amser. Mae angen i berson wirio'r blwch ei fod ef, fel rheolwr rhyddhau, wedi profi'r arteffact hwn i sicrhau ei fod yn barod i'w ryddhau wrth gynhyrchu. Os yw'n cymryd 5-10-15 munud, ond rydych chi'n gwneud y gosodiad unwaith yr wythnos, yna mae treulio hanner awr unwaith yr wythnos yn dreth fach.

Os ydych chi'n gwneud Integreiddio Parhaus 10 gwaith y dydd, yna mae angen lluosi 10 gwaith â 30 munud. Ac mae hyn yn fwy na faint o amser gwaith y rheolwr rhyddhau hwn. Mae'n blino o wneud hynny. Mae costau sefydlog i rai practisau. Dyna i gyd.

Ac mae angen i chi naill ai ganslo'r rheol hon fel nad ydych chi'n gwneud sbwriel o'r fath mwyach, h.y. nid ydych chi'n aseinio gradd â llaw i gyfateb i rywbeth. Rydych chi'n dibynnu'n llwyr ar rai set o brofion parodrwydd awtomataidd.

Ac os oes angen prawf gan rywun, fel bod y bos yn ei lofnodi, ac nad ydych chi'n dechrau cynhyrchu heb Vasya yn dweud ei fod yn caniatáu hynny, ac ati - mae'r holl nonsens hwn yn rhwystro'r ymarferydd. Oherwydd os oes rhai gweithgareddau yn gysylltiedig â threth, yna mae popeth yn cynyddu 100 gwaith. Felly, yn aml ni fydd y shifft yn cael ei gyfarch â llawenydd gan bawb. Oherwydd mae arferion pobl yn anodd eu newid.

Pan fydd person yn gwneud ei waith arferol, mae'n ei wneud bron heb feddwl. Mae ei llwyth gwybyddol yn sero. Mae'n chwarae o gwmpas ag ef, mae ganddo restr wirio yn ei ben yn barod, mae wedi ei wneud fil o weithiau. A chyn gynted ag y byddwch yn dod i ddweud wrtho: “Gadewch i ni ganslo'r arfer hwn a chyflwyno un newydd gan ddechrau ddydd Llun,” iddo mae'n dod yn llwyth gwybyddol pwerus. Ac mae'n dod i bawb ar unwaith.

Felly, y peth symlaf, er na all pawb fforddio'r moethusrwydd hwn, ond dyma'r hyn yr wyf bob amser yn ei wneud, dyma'r canlynol. Os bydd prosiect newydd yn dechrau, yna fel arfer bydd pob practis sydd heb ei brofi yn cael ei gynnwys yn y prosiect hwn ar unwaith. Tra bod y prosiect yn ifanc, nid ydym mewn gwirionedd yn peryglu dim. Nid oes Prod eto, nid oes dim i'w ddinistrio. Felly, gellir ei ddefnyddio fel hyfforddiant. Mae'r dull hwn yn gweithio. Ond nid yw pob cwmni yn cael y cyfle i ddechrau prosiectau o'r fath yn aml. Er bod hyn hefyd ychydig yn rhyfedd, oherwydd nawr mae trawsnewidiad digidol cyflawn, rhaid i bawb lansio arbrofion er mwyn cadw i fyny â chystadleuwyr.

Yma rydych chi'n dod i'r casgliad bod yn rhaid i chi gael dealltwriaeth yn gyntaf o'r hyn sydd angen i chi ei wneud. Nid yw'r byd yn ddelfrydol, ac nid yw prod yn ddelfrydol chwaith.

Ydy, mae'r pethau hyn yn rhyng-gysylltiedig.

Hefyd, nid yw busnesau bob amser yn deall bod angen iddynt fynd y ffordd hon.

Mae sefyllfa lle nad oes unrhyw newidiadau yn bosibl o gwbl. Mae hon yn sefyllfa lle mae mwy o bwysau ar y tîm. Mae'r tîm eisoes wedi blino'n lân. Nid oes ganddi amser sbâr ar gyfer unrhyw arbrofion. Maent yn gweithio ar nodweddion o fore gwyn tan nos. Ac mae gan y rheolwyr lai a llai o nodweddion. Mae angen mwy a mwy. Mewn sefyllfa o'r fath, nid oes unrhyw newidiadau yn bosibl. Ni ellir ond dweud wrth y tîm y byddwn yn gwneud yr un peth â ddoe yfory, mae angen i ni wneud ychydig mwy o nodweddion. Yn yr ystyr hwn, nid oes unrhyw drawsnewidiadau i unrhyw arferion yn bosibl. Mae hon yn sefyllfa glasurol pan nad oes amser i hogi'r fwyell, mae angen torri coed i lawr, felly maen nhw'n ei dorri â bwyell ddiflas. Nid oes awgrymiadau syml yma.

(Dmitry) Byddaf yn darllen eglurhad o'r sgwrs: “Ond mae angen llawer o sylw prawf ar wahanol lefelau. Faint o amser a neilltuir ar gyfer profion? Mae ychydig yn ddrud ac yn cymryd llawer o amser.”

(Oleg) Mae hwn yn gamsyniad clasurol. Dylai fod digon o brofion i chi fod yn hyderus. Nid yw Integreiddio Parhaus yn beth lle mae 100% o'r profion yn cael eu gwneud yn gyntaf a dim ond wedyn y byddwch chi'n dechrau cymhwyso'r arfer hwn. Mae Integreiddio Parhaus yn lleihau eich llwyth gwybyddol oherwydd bod pob un o'r newidiadau a welwch â'ch llygaid mor amlwg fel eich bod yn deall a fydd yn torri rhywbeth ai peidio, hyd yn oed heb brofion. Gallwch chi brofi hyn yn gyflym yn eich pen oherwydd bod y newidiadau'n fach. Hyd yn oed os mai dim ond profwyr llaw sydd gennych, mae'n haws iddyn nhw hefyd. Fe wnaethoch chi gyflwyno a dweud: “Edrychwch, a oes unrhyw beth wedi torri?” Fe wnaethon nhw wirio a dweud, “Na, does dim byd wedi torri.” Oherwydd bod y profwr yn gwybod ble i edrych. Mae gennych un ymrwymiad sy'n gysylltiedig ag un darn o god. Ac mae ymddygiad penodol yn manteisio ar hyn.

Dyma chi, wrth gwrs, wedi addurno.

(Dmitry) Dydw i ddim yn cytuno yma. Mae ymarfer - datblygiad sy'n cael ei yrru gan brawf, a fydd yn eich arbed rhag hyn.

(Oleg) Wel, dydw i ddim wedi cyrraedd y pwynt yna eto. Y rhith cyntaf yw bod angen i chi ysgrifennu 100% o'r profion neu nid oes angen i chi wneud Integreiddio Parhaus o gwbl. Nid yw'n wir. Mae'r rhain yn ddau arfer cyfochrog. Ac nid ydynt yn uniongyrchol ddibynnol. Rhaid i'ch cwmpas prawf fod yn optimaidd. Optimal - mae hyn yn golygu eich bod chi'ch hun yn hyderus bod ansawdd y meistr yr arhosodd eich meistr ynddo ar ôl yr ymrwymiad yn caniatáu ichi wasgu'r botwm "Deploy" yn hyderus ar nos Wener meddw. Sut ydych chi'n cyflawni hyn? Trwy adolygu, trwy ymdriniaeth, trwy fonitro da.

Ni ellir gwahaniaethu rhwng monitro da a phrofion. Os ydych chi'n rhedeg profion unwaith ar y cyn-gynhyrchiad, yna maen nhw'n gwirio'ch holl sgriptiau defnyddiwr unwaith a dyna ni. Ac os ydych chi'n eu rhedeg mewn dolen ddiddiwedd, yna dyma'ch system fonitro a ddefnyddir, sy'n profi popeth yn ddiddiwedd - p'un a yw wedi damwain ai peidio. Yn yr achos hwn, yr unig wahaniaeth yw a yw'n cael ei wneud unwaith neu ddwywaith. Set dda iawn o brofion... yn rhedeg yn ddiddiwedd, monitro yw hyn. A dylai monitro priodol fod fel hyn.

Ac felly, cwestiwn arall yw sut yn union y byddwch chi'n cyflawni'r cyflwr hwn pan fyddwch chi'n paratoi nos Wener a mynd adref. Efallai mai dim ond sgumbag beiddgar ydych chi.

Gadewch i ni fynd yn ôl ychydig at Integreiddio Parhaus. Fe wnaethon ni redeg i ffwrdd i arfer cymhleth ychydig yn wahanol.

A'r ail rith yw bod angen gwneud MVP, medden nhw, yn gyflym, felly nid oes angen profion yno o gwbl. Ddim yn sicr yn y ffordd honno. Y ffaith yw, pan fyddwch chi'n ysgrifennu stori defnyddiwr mewn MVP, gallwch naill ai ei datblygu ar y bêl, hynny yw, clywsoch fod rhyw fath o stori defnyddiwr a rhedodd i'w godio ar unwaith, neu gallwch weithio gan ddefnyddio TDD. Ac yn ôl TDD, fel y dengys arfer, nid yw'n cymryd mwy o amser, h.y. mae profion yn sgîl-effaith. Nid yw arfer TDD yn ymwneud â phrofi. Er gwaethaf yr hyn a elwir yn Ddatblygiad a yrrir gan Brawf, nid yw’n ymwneud â phrofion o gwbl. Mae hyn hefyd yn hytrach yn ddull pensaernïol. Mae hwn yn ddull o ysgrifennu'n union yr hyn sydd ei angen ac nid ysgrifennu'r hyn nad oes ei angen. Mae hwn yn arferiad o ganolbwyntio ar iteriad nesaf eich meddwl o ran creu pensaernïaeth cymhwysiad.

Felly, nid yw mor hawdd cael gwared ar y rhithiau hyn. Nid yw MVP a phrofion yn gwrth-ddweud ei gilydd. Hyd yn oed, yn hytrach, i'r gwrthwyneb, os gwnewch MVP gan ddefnyddio arfer TDD, yna byddwch chi'n ei wneud yn well ac yn gyflymach nag os gwnewch hynny heb ymarfer o gwbl, ond ar bêl.

Mae hwn yn syniad anamlwg a chymhleth iawn. Pan glywch y byddaf nawr yn ysgrifennu mwy o brofion ac ar yr un pryd y byddaf yn gwneud rhywbeth yn gyflymach, mae'n swnio'n gwbl annigonol.

(Dmitry) Mae llawer o bobl yma, pan maen nhw'n galw MVP, mae pobl yn rhy ddiog i ysgrifennu rhywbeth arferol. Ac mae'r rhain yn dal i fod yn bethau gwahanol. Nid oes angen troi MVP yn beth drwg nad yw'n gweithio.

Ydw, ie, rydych chi'n iawn.

Ac yna yn sydyn MVP yn prod.

Am byth.

Ac mae TDD yn swnio'n anarferol iawn pan fyddwch chi'n clywed eich bod chi'n ysgrifennu profion ac yn ymddangos eich bod chi'n gwneud mwy o waith. Mae'n swnio'n rhyfedd iawn, ond mewn gwirionedd mae'n troi allan yn gyflymach ac yn harddach fel hyn. Pan fyddwch chi'n ysgrifennu prawf, rydych chi eisoes yn meddwl llawer yn eich pen am ba god fydd yn cael ei alw a sut, yn ogystal â pha ymddygiad rydyn ni'n ei ddisgwyl ganddo. Nid ydych chi'n dweud fy mod wedi ysgrifennu rhywfaint o swyddogaeth ac mae'n gwneud rhywbeth. Ar y dechreu yr oeddech yn meddwl fod ganddi y fath amodau a'r fath, y gelwid arni yn y fath fodd. Rydych chi'n cwmpasu hyn gyda phrofion ac o hyn rydych chi'n deall sut bydd eich rhyngwynebau'n edrych y tu mewn i'ch cod. Mae hyn yn cael effaith enfawr ar bensaernïaeth. Mae'ch cod yn dod yn fwy modiwlaidd yn awtomatig, oherwydd yn gyntaf rydych chi'n ceisio deall sut y byddwch chi'n ei brofi, a dim ond wedyn yn ei ysgrifennu.

Yr hyn a ddigwyddodd i mi gyda TDD oedd fy mod ar ryw adeg wedi llogi mentor Ruby pan oeddwn yn dal i fod yn rhaglennydd Ruby. Ac mae'n dweud: “Gadewch i ni ei wneud yn ôl TDD.” Meddyliais: “Damn, nawr mae’n rhaid i mi ysgrifennu rhywbeth ychwanegol.” Ac fe wnaethom gytuno y byddwn yn ysgrifennu'r holl god gweithio yn Python o fewn pythefnos gan ddefnyddio TDD. Ar ôl pythefnos, sylweddolais nad oeddwn am fynd yn ôl. Ar ôl pythefnos o geisio cymhwyso hyn ym mhobman, rydych chi'n sylweddoli cymaint yn haws y mae hi wedi dod i chi hyd yn oed feddwl. Ond nid yw hyn yn amlwg, felly rwy'n argymell i bawb, os ydych chi'n teimlo bod TDD yn anodd, yn cymryd llawer o amser ac yn ddiangen, ceisiwch gadw ato am bythefnos yn unig. Roedd dau yn ddigon i mi.

(Dmitry) Gallwn ehangu'r syniad hwn o safbwynt gweithredu seilwaith. Cyn i ni lansio unrhyw beth newydd, rydym yn monitro ac yna'n lansio. Yn yr achos hwn, mae monitro yn dod yn brawf arferol i ni. Ac mae yna ddatblygiad trwy fonitro. Ond mae bron pawb yn dweud ei bod hi'n hir, dwi'n ddiog, fe wnes i ddrafft dros dro. Os ydym wedi gwneud gwaith monitro arferol, rydym yn deall cyflwr y system CI. Ac mae gan y system CI lawer o fonitro. Rydym yn deall cyflwr y system, rydym yn deall beth sydd y tu mewn iddi. Ac yn ystod datblygiad, rydym yn gwneud y system yn unig fel ei bod yn cyrraedd y cyflwr dymunol.

Mae'r arferion hyn wedi bod yn hysbys ers amser maith. Buom yn trafod hyn tua 4 blynedd yn ôl. Ond mewn 4 blynedd bron nid oes dim wedi newid.

Ond ar y nodyn hwn, cynigiaf ddod â’r drafodaeth swyddogol i ben.

Fideo (wedi'i fewnosod fel elfen cyfryngau, ond nid yw'n gweithio am ryw reswm):

https://youtu.be/zZ3qXVN3Oic

Ffynhonnell: hab.com

Ychwanegu sylw