Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Tiyeni tikambirane chifukwa chake zida za CI ndi CI ndizosiyana kotheratu.

Ndi zowawa zotani zomwe CI akufuna kuthetsa, lingalirolo linachokera kuti, ndi zitsimikiziro zotani zomwe zimagwira ntchito, momwe mungamvetsetse kuti muli ndi chizolowezi osati kungoyika Jenkins.

Lingaliro lopanga lipoti la Continuous Integration lidawonekera chaka chapitacho, ndikupita kukafunsa mafunso ndikufunafuna ntchito. Ndinayankhula ndi makampani a 10-15, mmodzi yekha wa iwo adatha kuyankha momveka bwino kuti CI ndi chiyani ndikufotokozera momwe adadziwira kuti analibe. Ena onse anali kuyankhula zopanda pake zosamveka za Jenkins :) Chabwino, tili ndi Jenkins, amamanga, CI! Pa lipotili, ndiyesera kufotokoza zomwe Continuous Integration kwenikweni ndi chifukwa chake Jenkins ndi zida zofanana zimakhala ndi ubale wofooka kwambiri ndi izi.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Ndiye, ndi chiyani chomwe chimabwera m'maganizo mukamva mawu akuti CI? Anthu ambiri amaganiza za Jenkins, Gitlab CI, Travis, etc.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Ngakhale titakhala pa google, zimatipatsa zida izi.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Ngati mumadziwa kufunsa, ndiye kuti mutangotchula zidazo, adzakuuzani kuti CI ndipamene mumamanga ndikuyesa mayeso mu Chikoka Chofunsira.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Kuphatikizika kosalekeza sikukhudza zida, osati zamisonkhano yokhala ndi mayeso munthambi! Kuphatikizika Kopitiriza ndi mchitidwe wophatikizira pafupipafupi ma code atsopano ndipo kuyigwiritsa ntchito sikofunikira konse kutchingira Jenkins, GitLab, ndi zina zambiri.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Tisanaone kuti CI yathunthu ikuwoneka bwanji, tiyeni tiyambe tayang'ana pamutu wa anthu omwe adabwera nawo ndikumva ululu umene akuyesera kuthetsa.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Ndipo anathetsa ululu wogwirira ntchito pamodzi monga gulu!

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Tiyeni tiwone zitsanzo za zovuta zomwe opanga amakumana nazo akamakula m'magulu. Pano tili ndi polojekiti, nthambi ya master mu git ndi opanga awiri.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Ndipo anapita kukagwira ntchito monga aliyense anazolowera kalekale. Tinagwira ntchito mu dongosolo lalikulu la zinthu, tinapanga nthambi yowonekera, ndikulemba code.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Mmodzi adamaliza mawonekedwewo mwachangu ndikuphatikiza ndi mbuye.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Yachiwiri idafunikira nthawi yochulukirapo, idalumikizana pambuyo pake ndikumaliza ndi mkangano. Tsopano, m'malo molemba zomwe bizinesi ikufuna, wopanga amawononga nthawi ndi mphamvu zake kuthetsa mikangano.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Kumakhala kovuta kwambiri kuphatikiza mawonekedwe anu ndi mbuye wamba, nthawi yochulukirapo yomwe timathera pa izo. Ndipo ndidawonetsa izi ndi chitsanzo chosavuta. Ichi ndi chitsanzo pomwe pali opanga 2. Tangoganizani ngati 10 kapena 15 kapena 100 anthu pakampani alembera kunkhokwe imodzi. Mudzapenga kuti muthetse mikangano yonseyi.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Pali nkhani yosiyana pang'ono. Tili ndi akatswiri komanso otukula ena akuchita zinazake.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Iwo anapanga nthambi.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Mmodzi adamwalira, zonse zinali bwino, adapambana ntchitoyi.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Wopanga wachiwiri, panthawiyi, adapereka ntchito yake. Tiyerekeze kuti anatumiza kuti akawunikenso. Makampani ambiri ali ndi machitidwe otchedwa review. Kumbali imodzi, mchitidwewu ndi wabwino komanso wothandiza, kumbali ina, umachepetsa m'njira zambiri. Sitidzalowa mu izo, koma apa pali chitsanzo chabwino cha zomwe nkhani yobwereza yoipa ingabweretse. Mwatumiza pempho kuti liwunikenso. Palibenso china choti woyambitsa achite. Kodi akuyamba kuchita chiyani? Amayamba kugwira ntchito zina.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Panthawiyi, woyambitsa wachiwiri adachitanso zina.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Woyamba anamaliza ntchito yachitatu.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Ndipo patapita nthawi yaitali, kubwereza kwake kunayesedwa, ndipo akuyesera kuti agwirizane. Ndiye chikuchitika ndi chiyani? Imagwira mikangano yambiri. Chifukwa chiyani? Chifukwa pamene pempho lake kukoka likulendewera mu ndemanga, zinthu zambiri zinali zitasintha kale mu code.

Kuphatikiza pa nkhani yokhala ndi mikangano, pali nkhani yokhala ndi mauthenga. Pamene ulusi wanu ukulendewera kuunikanso, pamene ukudikira chinachake, pamene mukugwira ntchito kwa nthawi yaitali, mumasiya kutsatira zomwe zikusintha mu code base ya utumiki wanu. Mwina zomwe mukuyesera kuthetsa tsopano zidathetsedwa kale dzulo ndipo mutha kutenga njira ndikuzigwiritsanso ntchito. Koma simudzawona izi chifukwa nthawi zonse mumagwira ntchito ndi nthambi yakale. Ndipo nthambi yachikale iyi nthawi zonse imapangitsa kuti muthe kuthetsa kusamvana.

Zikuwonekeratu kuti ngati titagwira ntchito monga gulu, mwachitsanzo, palibe munthu m'modzi yemwe akungoyendayenda m'malo osungiramo zinthu, koma anthu 5-10, ndiye kuti tikapanda kuwonjezera ma code athu kwa ambuye, timavutika kwambiri chifukwa pamapeto pake timafunikira. chinachake ndiye chiphatikize icho. Ndipo mikangano ikachulukirachulukira, komanso mtundu wakale womwe timagwira nawo ntchito, m'pamene timakhala ndi mavuto.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Kuchitira zinthu limodzi n’kopweteka! Nthawi zonse timalonderana wina ndi mzake.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Vuto limeneli linaonekera zaka zoposa 20 zapitazo. Ndinapeza kutchulidwa koyamba kwa machitidwe a Continuous Integration mu Extreme Programming.

Extreme Programming ndiye dongosolo loyamba lokhazikika. Tsambali lidawonekera mu 96. Ndipo lingaliro linali logwiritsa ntchito mtundu wina wa machitidwe a mapulogalamu, kukonzekera ndi zinthu zina, kuti chitukukocho chikhale chosinthika momwe tingathere, kuti tithe kuyankha mwamsanga kusintha kulikonse kapena zofunikira kuchokera kwa makasitomala athu. Ndipo anayamba kukumana ndi izi zaka 24 zapitazo, kuti ngati muchita chinachake kwa nthawi yaitali komanso pambali, ndiye kuti mumathera nthawi yambiri chifukwa muli ndi mikangano.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Tsopano tisanthula mawu akuti "Kuphatikizana Kopitiriza" payekhapayekha. Ngati timasulira mwachindunji, timapeza kuphatikiza kosalekeza. Koma kuti ikupitilirabe bwanji sikudziwika bwino, sikupitilira. Koma kuchuluka kwa kuphatikizika komwe kuli nako sikuwonekeranso kwambiri.

Ndipo ndichifukwa chake ndikukupatsani mawu ochokera ku Extreme Programming tsopano. Ndipo tidzasanthula mawu awiriwa mosiyana.

Kuphatikizika - Monga ndanenera kale, timayesetsa kuonetsetsa kuti injiniya aliyense amagwira ntchito ndi ndondomeko yamakono kwambiri, kotero kuti amayesetsa kuwonjezera kachidindo kake nthawi zambiri ku nthambi wamba, kuti izi zikhale nthambi zazing'ono. Chifukwa ngati ali akulu, ndiye kuti titha kukakamira mikangano yophatikiza kwa sabata. Izi ndizowona makamaka ngati tili ndi nthawi yayitali yachitukuko monga mathithi, pomwe wopanga adachoka kwa mwezi umodzi kukadula mbali yayikulu. Ndipo adzakhalabe pa siteji yophatikizana kwa nthawi yayitali kwambiri.

Kuphatikiza ndi pamene titenga nthambi yathu ndikuyiphatikiza ndi mbuye, timayiphatikiza. Pali njira yabwino kwambiri tikakhala wopanga transbase, komwe timayesetsa kuonetsetsa kuti timalembera mbuyeyo nthawi yomweyo popanda nthambi zowonjezera.

Kawirikawiri, kuphatikiza kumatanthauza kutenga code yanu ndikuyikokera mu mbuye.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Kodi mawu oti “kupitiriza” akutanthauza chiyani apa? Kuchita kumatanthauza kuti wopanga mapulogalamu amayesetsa kuphatikiza code yake mwachangu momwe angathere. Ichi ndi cholinga chake pochita ntchito iliyonse - kuti atengere code yake kukhala mbuye wake mwamsanga. M'dziko labwino, opanga amatha kuchita izi maola angapo aliwonse. Ndiko kuti, mumatenga vuto laling'ono ndikuliphatikiza ndi mbuye. Zonse ndi zabwino. Izi ndi zomwe mukuyesetsa. Ndipo izi ziyenera kuchitika mosalekeza. Mukangochita chinthu, nthawi yomweyo mumachiyika mbuye.

Ndipo woyambitsa amene amapanga chinachake ali ndi udindo pa zomwe adachita kuti zigwire ntchito komanso osaphwanya chilichonse. Apa ndipamene nkhani ya mayeso nthawi zambiri imatuluka. Tikufuna kuyesa zina zomwe tadzipereka, pakuphatikiza kwathu, kuti tiwonetsetse kuti zikugwira ntchito. Ndipo apa ndi pamene Jenkins angakuthandizeni.

Koma ndi nkhani: tiyeni tisinthe zosinthazo kukhala zazing'ono, tiyeni tilole kuti ntchitozo zikhale zazing'ono, tiyeni tipange vuto ndipo nthawi yomweyo yesetsani kuziyika mu mbuye - palibe Jenkins angathandize pano. Chifukwa Jenkins amangokuthandizani kuyesa mayeso.

Mutha kuchita popanda iwo. Izi sizidzakupwetekani konse. Chifukwa cholinga cha machitidwe ndikuyesa nthawi zambiri momwe mungathere, kuti musataye nthawi yochuluka pa mikangano iliyonse m'tsogolomu.

Tiyerekeze kuti pazifukwa zina tili mu 2020 popanda intaneti. Ndipo timagwira ntchito kwathu kuno. Tilibe a Jenkins. Izi nzabwino. Mutha kupitiliza kupanga nthambi yakomweko. Munalembamo code. Tinamaliza ntchitoyi mu maola 3-4. Tinasintha kukhala master, tinakoka git, ndikuphatikiza nthambi yathu pamenepo. Okonzeka. Ngati mumachita izi pafupipafupi, zikomo, muli ndi Kuphatikizana Kopitilira!

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Kodi ndi umboni wotani m’dziko lamakono umene ulipo woti kuli koyenera kutherapo mphamvu? Chifukwa zambiri zimakhala zovuta. Ngati mutayesa kugwira ntchito motere, mudzamvetsetsa kuti kukonzekera kwina tsopano kukhudzidwa, muyenera kuthera nthawi yochulukirapo pantchito zowola. Chifukwa ngati muchita munthu ..., ndiye kuti simungathe kugwirizana mwamsanga ndipo, motero, mudzalowa m'mavuto. Simudzakhalanso ndi machitidwe.

Ndipo zidzakhala zodula. Sizingatheke kugwira ntchito nthawi yomweyo kuyambira mawa pogwiritsa ntchito Continuous Integration. Zidzakutengerani inu nonse nthawi yayitali kuti muzolowere, zidzakutengerani nthawi yayitali kuti muzolowere ntchito zowola, zidzatenga nthawi yayitali kuti muzolowere kuyambiranso kubwereza, ngati muli ndi imodzi. . Chifukwa cholinga chathu ndi kuti asungunuke lero. Ndipo ngati mungawunikenso mkati mwa masiku atatu, ndiye kuti muli ndi mavuto ndipo Continuous Integration sikugwira ntchito kwa inu.

Koma kodi tili ndi umboni wofunikira pakali pano womwe umatiuza kuti kuyika ndalama m'chizoloŵezichi n'komveka?

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Chinthu choyamba chomwe chinabwera m'maganizo mwanga chinali State of DevOps. Ili ndi kafukufuku yemwe anyamatawa akhala akuchita kwa zaka 7. Tsopano amazichita ngati bungwe lodziyimira pawokha, koma pansi pa Google.

Ndipo kafukufuku wawo wa 2018 adawonetsa mgwirizano pakati pa makampani omwe amayesa kugwiritsa ntchito nthambi zazing'ono zomwe zimagwirizanitsa mwamsanga, zimagwirizanitsa kawirikawiri, komanso zimakhala ndi zizindikiro zabwino za IT.

Kodi zizindikiro izi ndi chiyani? Awa ndi ma metrics a 4 omwe amatenga kuchokera kumakampani onse m'mafunso awo: kuchuluka kwa kutumizidwa, nthawi yotsogolera yosintha, nthawi yobwezeretsa ntchito, kusintha kulephera.

Ndipo, choyamba, pali kulumikizana uku, tikudziwa kuti makampani omwe amayezera pafupipafupi amakhala ndi ma metric abwinoko. Ndipo ali ndi magawo amakampani m'magulu angapo: awa ndi makampani ochedwa omwe amapanga zinthu pang'onopang'ono, ochita zapakatikati, ochita bwino komanso osankhika. Olemekezeka ndi Netflix, Amazon, omwe ali othamanga kwambiri, amachita zonse mofulumira, mokongola komanso mogwira mtima.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Nkhani yachiwiri, yomwe inachitika mwezi umodzi wapitawo. Technology Radar ili ndi nkhani yabwino yokhudza Gitflow. Gitflow ndi yosiyana ndi ena onse chifukwa nthambi zake zimakhala ndi moyo wautali. Pali nthambi zotulutsa zomwe zimakhala kwa nthawi yayitali, ndipo zimakhala ndi nthambi zomwe zimakhalanso kwa nthawi yayitali. Izi pa Technology Radar zasamukira ku HOLD. Chifukwa chiyani? Chifukwa anthu amakumana ndi zowawa za kuphatikizika.

Ngati nthambi yanu imakhala kwa nthawi yayitali, imakakamira, imavunda, ndipo timayamba kuthera nthawi yochulukirapo kuyesa kuyisintha.

И недавно автор Gitflow сказал, что если вы стремитесь к Continuous Integration, если вы стремитесь к тому, что вы хотите катиться как можно чаще, то Gitflow – это плохая идея. Он отдельно в статью дописал, что если у вас бэкенд, где вы можете к этому стремится, то Gitflow для вас лишний, потому что Gitflow вас замедлит, Gitflow вам создаст проблемы с интеграцией.

Izi sizikutanthauza kuti Gitflow ndi yoyipa ndipo sayenera kugwiritsidwa ntchito. Ndi zanthawi zina. Mwachitsanzo, mukafuna kuthandizira mitundu ingapo ya ntchito kapena kugwiritsa ntchito, mwachitsanzo, komwe mukufuna thandizo kwa nthawi yayitali.

Koma ngati mutayankhula ndi anthu omwe amathandizira mautumikiwa, mudzamva zowawa zambiri ponena kuti Baibuloli linali 3.2, lomwe linali miyezi 4 yapitayo, koma kukonza kumeneku sikunaphatikizidwemo ndipo tsopano, kuti apange, muyenera kusintha zambiri. Ndipo tsopano akhazikikanso, ndipo tsopano akhala akungoyendayenda kwa sabata kuyesa kukhazikitsa china chatsopano.

Monga Alexander Kovalev adanenera molondola pamacheza, kulumikizana sikufanana ndi chifukwa. Izi ndi Zow. Ndiye kuti, palibe kulumikizana kwachindunji kuti ngati muli ndi Continuous Integration, ndiye kuti ma metric onse adzakhala abwino. Koma pali kulumikizana kwabwino kuti ngati wina ali m'modzi, ndiye kuti mwina winayo alinso. Osati zoona, koma zotheka. Ndi kulumikizana basi.

Kuphatikizana Kopitilira muyeso, osati Jenkins. Andrey Alexandrov

Zikuwoneka kuti tikuchita kale chinachake, zikuwoneka kuti tikugwirizanitsa kale, koma tingamvetse bwanji kuti tikadali ndi Continuous Integration, kuti tikugwirizanitsa nthawi zambiri?

Jez Humble ndi mlembi wa Handbook, Accelerate, the Continuous Delivery webusayiti, ndi buku la Continuous Delivery. Amapereka mayeso awa:

  • Код инженера попадает в мастер ежедневно.
  • Pantchito iliyonse mumayesa mayunitsi.
  • Kumanga kwa mbuyeyo kunagwa, kunakonzedwa pafupifupi mphindi 10.

Akupangira kugwiritsa ntchito mayeso ngati awa kuti muwonetsetse kuti muli ndi zoyeserera zokwanira.

Ndimaona kuti izi ndizotsutsana pang'ono. Izi ndizo, ngati mungathe kukonza mu maminiti a 10, ndiye kuti muli ndi Continuous Integration, zikuwoneka zachilendo pang'ono, mwa lingaliro langa, koma ndizomveka. Chifukwa chiyani? Chifukwa ngati mumaundana pafupipafupi, zikutanthauza kuti kusintha kwanu kumakhala kochepa. Ngati kusintha kwakung'ono kumatanthauza kuti kumanga kwa mbuye wanu kwathyoledwa, ndiye kuti mukhoza kupeza chitsanzo mwamsanga chifukwa kusintha kuli kochepa. Apa mudaphatikizana pang'ono, mizere 20-30 momwemo idasinthidwa. Ndipo, molingana, mutha kumvetsetsa chomwe chinali chifukwa chake, chifukwa zosinthazo ndi zazing'ono, muli ndi malo ochepa kwambiri kuti mufufuze vutoli.

Ndipo ngakhale prod yathu itagwa pambuyo pomasulidwa, ndiye ngati tili ndi chizolowezi cha Continuous Integration, ndizosavuta kuti tichitepo kanthu, chifukwa zosinthazo ndi zazing'ono. Inde, izi zidzakhudza kukonzekera. Izi zidzapweteka. Ndipo, mwinamwake, chinthu chovuta kwambiri muzochitazi ndikuzoloŵera kuphwanya ntchito, ndiko kuti, momwe mungachitire kuti mutenge chinachake ndikuchichita mu maola angapo ndipo nthawi yomweyo perekani ndemanga, ngati muli nawo. Ndemanga ndi ululu wosiyana.

Mayeso a mayunitsi ndi othandizira chabe omwe amakuthandizani kumvetsetsa ngati kuphatikiza kwanu kudachita bwino komanso ngati palibe chomwe chidasweka. M'malingaliro anga, izi siziri zovomerezeka kwathunthu, chifukwa iyi si mfundo yochitira.

Awa ndi mawu oyamba achidule a Continuous Integration. Ndizo zonse zomwe zilipo mchitidwewu. Ndine wokonzeka kufunsa mafunso.

Ndingonenanso mwachidule:

  • Kuphatikizana Kupitilira si Jenkins, si Gitlab.
  • Ichi si chida, ndi mchitidwe kuti ife kuphatikiza code wathu mbuye nthawi zambiri momwe tingathere.
  • Делаем мы это для того, чтобы избежать огромной боли, которая возникает с мержами в будущем, т. е. мы испытываем маленькую боль сейчас, чтобы не испытывать большую в будущем. В этом весь смысл.
  • Kumbali pali kulankhulana kudzera mu code, koma kawirikawiri sindimawona izi, koma izi ndi zomwe zinapangidwira.

Mafunso anu

Zoyenera kuchita ndi ntchito zosawonongeka?

kuwola. Vuto ndi chiyani? Kodi mungapereke chitsanzo kuti pali ntchito ndipo siinavunde?

Pali ntchito zomwe sizingasokonezedwe kuchokera ku mawu oti "kwathunthu", mwachitsanzo, zomwe zimafuna ukatswiri wozama kwambiri ndipo zimatha kuthetsedwa pakatha mwezi umodzi kuti zitheke.

Ngati ndikumvetsetsani bwino, ndiye kuti pali ntchito yaikulu komanso yovuta, yomwe zotsatira zake zidzawoneka mwezi umodzi wokha?

Inde ndiko kulondola. Inde, zidzakhala zotheka kuwunika zotsatirapo kale kuposa mwezi umodzi.

Chabwino. Mwambiri ili si vuto. Chifukwa chiyani? Chifukwa pamenepa, tikamanena za nthambi, sitikunena za mphukira yokhala ndi mawonekedwe. Zinthu zimatha kukhala zazikulu komanso zovuta. Zingakhudze chiwerengero chachikulu cha zigawo zikuluzikulu. Ndipo mwina sitingathe kuzichita kwathunthu munthambi imodzi. Izi nzabwino. Tingofunika kuithetsa nkhani imeneyi. Ngati chinthu sichinakonzekere, izi sizikutanthauza kuti zidutswa zina za code yake sizingaphatikizidwe. Munawonjezera, titi, kusamuka ndipo pali magawo ena mkati mwa mawonekedwe. Tiyerekeze kuti muli ndi siteji - pangani kusamuka, onjezerani njira yatsopano. Ndipo mukhoza kuyeza kale zinthu izi tsiku lililonse.

Chabwino. Mfundo yake ndi chiyani ndiye?

Nanga bwanji kupha tinthu tating'ono tsiku lililonse?

Inde.

Ngati athyola chinachake, mumachiwona nthawi yomweyo. Muli ndi kachidutswa kakang'ono kamene kathyola chinachake, ndi kosavuta kuti mukonze. Mfundo ndi yakuti kuphatikiza kachidutswa kakang'ono tsopano ndikosavuta kuposa kuphatikiza chinthu chachikulu mu masabata angapo. Ndipo mfundo yachitatu ndikuti mainjiniya ena azigwira ntchito ndi mtundu waposachedwa wa code. Awona kuti kusamuka kwina kwawonjezedwa pano, ndiyeno njira ina yawoneka yomwe angafunenso kugwiritsa ntchito. Aliyense adzawona zomwe zikuchitika mu code yanu. Ndi zinthu zitatu izi zomwe mchitidwe umachitika.

Zikomo, vuto latsekedwa!

(Oleg Soroka) Kodi ndingawonjezere? Mwanena zonse molondola, ndikungofuna kuwonjezera mawu amodzi.

Choncho.

Ndi Continuous Integration, kachidindoyo amaphatikizidwa munthambi wamba osati mawonekedwewo atakonzeka, koma nyumbayo ikasiya kusweka. Ndipo mutha kudzipereka kuti muzichita bwino nthawi zambiri patsiku momwe mukufunira. Mbali yachiwiri ndi yakuti ngati pazifukwa zina simungathe kuphwanya ntchito ya pamwezi kukhala ntchito kwa masiku osachepera atatu, ndimakhala chete pafupifupi maola atatu, ndiye kuti muli ndi vuto lalikulu. Ndipo mfundo yoti mulibe Continuous Integration ndizovuta kwambiri. Izi zikutanthauza kuti muli ndi mavuto ndi zomangamanga komanso machitidwe aukadaulo a zero. Chifukwa ngakhale izi ndi kafukufuku, ndiye kuti mulimonsemo ziyenera kupangidwa mwanjira yamalingaliro kapena kuzungulira.

Tidakambirana za ma metric 4 omwe amasiyanitsa makampani ochita bwino ndi omwe akutsalira. Tikuyenerabe kukhala ndi moyo kuti tiwone ma metric 4 awa. Ngati ntchito yanu yapakati itenga mwezi umodzi kuti ithe, ndiye kuti ndimayang'ana kwambiri pa metric iyi. Ndikatsitsa mpaka masiku atatu kaye. Ndipo zitatha izi ndinayamba kuganiza za Continuous.

Kodi ndakumvetsani bwino kuti mukuganiza kuti palibe chifukwa choyika ndalama pazainjiniya ngati ntchito iliyonse imatenga mwezi umodzi kuti ithe?

Muli ndi Continuous Integration. Ndipo pali mutu wotero womwe mumphindi 10 mutha kukonza kapena kubweza. Tangoganizani kuti mwachitulutsa. Kuphatikiza apo, mumayikanso mosalekeza, mudayigudubuza kuti ipangitse ndikuzindikira kuti china chake chalakwika. Ndipo muyenera kuyibweza, koma mwasamuka kale database yanu. Muli ndi kale schema yamtundu wotsatira, komanso, mudalinso ndi zosunga zobwezeretsera, ndipo deta idalembedwanso pamenepo.

Ndipo muli ndi njira ina iti? Ngati mubweza kachidindoyo, ndiye kuti singagwirenso ntchito ndi database yosinthidwayi.

Maziko amangopita patsogolo, inde.

Anthu omwe ali ndi machitidwe osauka a uinjiniya mwina sanawerenge buku lakuda la .... Zoyenera kuchita ndi zosunga zobwezeretsera? Ngati mubwezeretsa kuchokera ku zosunga zobwezeretsera, zikutanthauza kuti mumataya deta yomwe mwasonkhanitsa panthawiyo. Mwachitsanzo, tinagwira ntchito kwa maola atatu ndi mtundu watsopano wa database, ogwiritsa ntchito omwe adalembetsa pamenepo. Mukukana zosunga zobwezeretsera zakale chifukwa chiwembucho sichigwira ntchito ndi mtundu watsopano, ndiye mwataya ogwiritsa ntchitowa. Ndipo sakhutira, alumbira.

Kuti mudziwe zambiri za machitidwe omwe amathandizira Kuphatikizana Kopitiriza ndi Kutumiza Kopitiriza, sikokwanira kungophunzira kulemba.... Choyamba, pakhoza kukhala zambiri, sizingakhale zothandiza. Komanso pali zinthu zina zambiri monga Sayansi. Pali machitidwe otere, GitHub adakulitsa nthawi imodzi. Apa ndi pamene muli ndi code yakale ndi code yatsopano yomwe ikuyenda nthawi imodzi. Apa ndi pamene mupanga chinthu chosamalizidwa, koma chikhoza kubwezera mtengo wina: kaya ngati ntchito kapena ngati Rest API. Mumayika ma code atsopano ndi akale, ndikuyerekeza kusiyana pakati pawo. Ndipo ngati pali kusiyana, ndiye inu lowani chochitika ichi. Mwanjira iyi mumadziwa kuti muli ndi chinthu chatsopano chomwe chakonzeka kutulutsa pamwamba pa chakale ngati simunakhale ndi kusiyana pakati pa ziwirizi kwa nthawi inayake.

Pali mazana a machitidwe otero. Ndikupangira kuyamba ndi chitukuko cha transbase. Iye sali 100% pa Continuous Integration, koma machitidwe ndi ofanana, wina sangakhale bwino popanda wina.

Kodi mudapereka chitukuko cha transbase monga chitsanzo pomwe mutha kuwona machitidwe kapena mukuganiza kuti anthu ayambe kugwiritsa ntchito transbase debelopment?

Yang'anani, chifukwa sangathe kuzigwiritsa ntchito. Kuti muwagwiritse ntchito, muyenera kuwerenga kwambiri. Ndipo munthu akafunsa kuti: "Zochita ndi gawo lomwe limatenga mwezi umodzi, zikutanthauza kuti sanawerenge za chitukuko cha transbase." Sindingavomereze panobe. Ndikulangiza kuyang'ana pa mutu wa momwe mungagwetsere bwino ntchito zazikulu kukhala zazing'ono. Ichi ndiye chiyambi cha kuwonongeka.

Kuwola ndi chimodzi mwa zida za omanga. Choyamba timasanthula, kenako kuwonongeka, kenako kaphatikizidwe, kenako kuphatikiza. Ndipo umu ndi momwe zonse zimatiyendera. Ndipo tikufunikabe kukula mpaka Kuphatikizana Kopitilira muyeso kudzera pakuvunda. Mafunso amawuka pa gawo loyamba, ndipo tikukamba kale za gawo lachinayi, mwachitsanzo, nthawi zambiri timachita kuphatikiza, ndibwino. Kudakali koyambirira kwambiri kuti muchite izi; zingakhale bwino kuti muchepetse kaye monolith yanu.

Muyenera kujambula mivi ingapo ndi mabwalo pazithunzi zina. Simunganene kuti tsopano ndikuwonetsa zojambula za pulogalamu yatsopano ndikuwonetsa lalikulu limodzi, mkati mwake muli batani lobiriwira la pulogalamuyi. Mulimonsemo, padzakhala mabwalo ndi mivi yambiri. Chithunzi chilichonse chomwe ndidachiwona chinali ndi zambiri. Ndipo kuwonongeka, ngakhale pamlingo woyimira zojambulajambula, zikuchitika kale. Chifukwa chake, mabwalo atha kukhala odziyimira pawokha. Ngati sichoncho, ndiye kuti ndili ndi mafunso akulu kwa womanga.

Pali funso kuchokera pamacheza: "Ngati kuwunika kuli kofunikira ndipo kumatenga nthawi yayitali, mwina tsiku kapena kupitilira apo?"

Muli ndi zovuta ndikuchita. Kubwereza kuyenera kukhala tsiku limodzi kapena kuposerapo. Iyi ndi nkhani yomweyi ku funso lapitalo, mofewa pang'ono. Ngati ndemanga ipitilira kwa tsiku, ndiye kuti ndemanga iyi ikusintha kwambiri. Izi zikutanthauza kuti iyenera kuchepetsedwa. Pachitukuko cha transbase, chomwe Oleg adalimbikitsa, pali nkhani yotchedwa review mosalekeza. Lingaliro lake ndikuti timapanga pempho laling'ono lotere mwadala, chifukwa timayesetsa kuphatikiza nthawi zonse komanso pang'ono panthawi. Chifukwa chake pempho lachikoka limasintha katchulidwe kamodzi kapena mizere 10. Chifukwa cha ndemangayi, zimatitengera mphindi zingapo.

Ngati ndemangayo itenga tsiku kapena kupitilira apo, pali cholakwika. Choyamba, mungakhale ndi mavuto ndi zomangamanga. Kapena iyi ndi nambala yayikulu, mizere 1, mwachitsanzo. Kapena kamangidwe kanu n’kovuta kwambiri moti munthu sangamvetse. Ili ndi vuto lakumbali pang'ono, koma liyeneranso kuthetsedwa. Mwina palibe chifukwa chowunikiranso. Nafenso tiyenera kuganizira zimenezi. Ndemanga ndi chinthu chomwe chimakuchepetsani. Ili ndi ubwino wake wonse, koma muyenera kumvetsetsa chifukwa chake mukuchitira. Kodi iyi ndi njira yoti mufotokozere zambiri mwachangu, kodi iyi ndi njira yoti mukhazikitse mfundo zina mkati kapena chiyani? Chifukwa chiyani mukufunikira izi? Chifukwa kuwunikaku kuyenera kuchitidwa mwachangu kapena kuthetsedwa kwathunthu. Zili ngati transbase deveploment - nkhaniyi ndi yokongola kwambiri, koma kwa anyamata okhwima okha.

Ponena za ma metric 4, ndingalimbikitsebe kuwachotsa kuti ndimvetsetse zomwe izi zimatsogolera. Yang'anani pa manambala, yang'anani pa chithunzi, momwe chirichonse chiri choipa.

(Dmitry) Ndine wokonzeka kukambirana nanu za izi. Nambala ndi ma metrics onse ndiabwino, machitidwe ndiabwino. Koma muyenera kumvetsetsa ngati bizinesi ikufunika. Pali mabizinesi omwe safuna kusintha kwamtundu wotere. Ndikudziwa makampani omwe kusintha sikungapangidwe mphindi 15 zilizonse. Ndipo osati chifukwa chakuti ndi oipa kwambiri. Izi ndizozungulira moyo wotere. Ndipo kuti nthambi ziwonekere, mawonekedwe osinthira, muyenera kudziwa zakuya.

Ndizovuta. Ngati mukufuna kuwerenga nkhani yokhudza kusinthako mwatsatanetsatane, ndikupangira https://trunkbaseddevelopment.com/. Ndipo pali nkhani yabwino kwambiri ya Martin Fowler yokhudza kusintha zinthu: mitundu yanji yomwe ilipo, mayendedwe amoyo, ndi zina zambiri. Kusinthaku ndizovuta.

Ndipo simunayankhebe funso: "Kodi Jenkins akufunika kapena ayi?"

Jenkins safunikira kwenikweni. Zovuta kwambiri, zida: Jenkins, Gitlab zidzakubweretserani mwayi. Mudzawona kuti msonkhano wasonkhanitsidwa kapena sunasonkhanitsidwe. Akhoza kukuthandizani, koma sangakupatseni machitidwe. Angokupatsani bwalo - Chabwino, osati Chabwino. Ndiyeno, ngati inunso kulemba mayeso, chifukwa ngati palibe mayesero, ndiye pafupifupi zopanda pake. Chifukwa chake, ndizofunikira chifukwa ndizosavuta, koma nthawi zambiri mutha kukhala popanda izo, simudzataya zambiri.

Ndiko kuti, ngati muli ndi machitidwe, zikutanthauza kuti simukuzifuna?

Ndichoncho. Ndikupangira mayeso a Jez Humble. Kumeneko ndili ndi maganizo osagwirizana ndi mfundo yotsiriza. Koma kawirikawiri, ngati muli ndi zinthu zitatu, mumaphatikizana mosalekeza, mumayesa mayeso pakuchita kwa mbuye, mumakonza zomanga mbuye wanu, ndiye kuti simukusowa china chilichonse.

Пока мы ждем вопросы от участников, у меня есть вопрос. Мы сейчас говорили про продуктовый код. А использовал ли ты для инфраструктурного кода. Это такой же код, у него такие же принципы и такой же жизненный цикл, либо там другие жизненные циклы и принципы? Обычно, когда все говорят про Continuous Integration и Development, то все забывают, что есть еще инфраструктурный код. И в последнее время его все больше и больше. И следует ли туда приносить все эти правила?

Osati ngakhale kuti ziyenera kukhala, zingakhale zabwino chifukwa zingapangitse moyo kukhala wosavuta mofananamo. Tikangogwira ntchito ndi code, osati ndi bash scripts, koma tili ndi code yachibadwa.

Imani, siyani, bash script ilinso code. Osakhudza chikondi changa chakale.

Chabwino, sindikupondaponda kukumbukira kwanu. Sindimakonda za bash. Zimasweka moyipa komanso zowopsa nthawi zonse. Ndipo nthawi zambiri zimasweka mosayembekezereka, chifukwa chake sindimakonda. Koma chabwino, tinene kuti muli ndi bash code. Mwina sindikumvetsa ndipo pali zoyeserera zoyeserera kunja uko. Sindikudziwa basi. Ndipo timapeza mapindu omwewo.

Tikangogwira ntchito ndi zomangamanga monga ma code, timapeza mavuto onse ofanana ndi opanga mapulogalamu. Miyezi ingapo yapitayo, ndidakumana ndi vuto lomwe mnzanga adanditumizira pempho la mizere 1 mu bash. Ndipo mumacheza pakuwunika kwa maola 000. Mavuto omwewo amabuka. Ikadali code. Ndipo akadali mgwirizano. Timakakamira ndi pempho lachikoka ndipo timakakamira kuti tikuthetsa mikangano yophatikizana mu bash yomweyo, mwachitsanzo.

Tsopano ndikuyang'ana mwachangu chinthu chonsechi pamapulogalamu okongola kwambiri a infra. Tsopano ndabweretsa Pulumi mu zomangamanga. Uku ndikukonza mapulogalamu mu mawonekedwe ake oyera. Kumeneko ndi zabwino kwambiri, chifukwa ndili ndi mphamvu zonse za chinenero cha pulogalamu, mwachitsanzo, ndinapanga kukongola kokongola kuchokera ku buluu ndi ngati zomwezo ndipo zonse zili bwino. Ndiko kuti, kusintha kwanga kuli kale mbuye. Aliyense akhoza kumuwona kale. Mainjiniya ena amadziwa za izi. Zakhudza kale chinachake kumeneko. Komabe, sizinagwiritsidwe ntchito pazinthu zonse. Zinayatsa mabenchi anga oyesera, mwachitsanzo. Chifukwa chake, kuti muyankhe funso lanu kachiwiri, ndikofunikira. Zimapangitsa moyo kukhala wosavuta kwa ife, monga mainjiniya omwe amagwira ntchito ndi ma code, mwanjira yomweyo.

Ngati wina ali ndi mafunso?

Ndili ndi funso. Ndikufuna kupitiriza kukambirana ndi Oleg. Kawirikawiri, ndikuganiza kuti mukulondola, kuti ngati ntchito imatenga mwezi umodzi kuti mutsirize, ndiye kuti muli ndi vuto ndi zomangamanga, muli ndi vuto ndi kusanthula, kuwonongeka, kukonzekera, etc. Koma ndikumva kuti ngati mutayamba kuyesera kukhala molingana ndi Continuous Integration, ndiye kuti mudzayamba kukonza zowawa pokonzekera, chifukwa simudzachoka kwina kulikonse.

(Oleg) Inde, ndiko kulondola. Mchitidwewu ndi wofanana ndi mchitidwe wina uliwonse wosintha chikhalidwe. Chovuta kwambiri kuthana nacho ndi zizolowezi, makamaka zizolowezi zoyipa. Ndipo ngati kuti mugwiritse ntchito mchitidwewu, kusintha kwakukulu kwa zizolowezi za omwe akuzungulirani kumafunika: opanga, oyang'anira, oyang'anira kupanga, ndiye kuti zodabwitsa zikukuyembekezerani.

Kodi pangakhale zodabwitsa zotani? Tiyerekeze kuti mwasankha kuti muphatikizepo nthawi zambiri. Ndipo muli ndi zinthu zina zomwe zimagwirizanitsidwa ndi kuphatikiza, mwachitsanzo, zojambula. Ndipo m'gulu lanu, mwachitsanzo, pali mfundo yakuti chinthu chilichonse chiyenera kuwerengedwa mwanjira ina mumtundu wina wa makina osungiramo zinthu zakale. Ndipo zimatenga nthawi. Munthu ayenera kuyang'ana m'bokosi lomwe iye, monga woyang'anira zotulutsa, adayesa chojambulachi kuti atsimikizire kuti chakonzeka kutulutsidwa. Ngati zimatenga mphindi 5-10-15, koma mumachita masanjidwewo kamodzi pa sabata, ndiye kuti kugwiritsa ntchito theka la ola kamodzi pa sabata ndi msonkho waung'ono.

Ngati mukuchita Continuous Integration 10 patsiku, ndiye kuti nthawi 10 iyenera kuchulukitsidwa ndi mphindi 30. Ndipo izi zimaposa nthawi yogwira ntchito ya woyang'anira kumasulidwa uku. Amangotopa ndikuchita. Pali ndalama zokhazikika pazochita zina. Ndizomwezo.

Ndipo muyenera kuletsa lamuloli kuti musachitenso zinyalala zotere, mwachitsanzo, musagawire digirii kuti igwirizane ndi china chake. Mukudalira kwambiri mayesero okonzekera kukonzekera.

Ndipo ngati mukufuna umboni kuchokera kwa wina, kuti abwana asayine, ndipo musalowe mu kupanga popanda Vasya kunena kuti amalola, ndi zina zotero - zonse zopanda pakezi zimapita kwa dokotala. Chifukwa ngati pali ntchito zina zokhudzana ndi msonkho, ndiye kuti zonse zimawonjezeka nthawi 100. Chifukwa chake, kusinthako nthawi zambiri sikulandiridwa ndi chimwemwe ndi aliyense. Chifukwa zizolowezi za anthu zimakhala zovuta kusintha.

Munthu akamagwira ntchito yake nthawi zonse, amangochita mosaganizira. Kuchuluka kwake kwachidziwitso ndi zero. Amangosewera ndi izo, ali kale ndi mndandanda m'mutu mwake, wachita nthawi chikwi. Ndipo mukangobwera ndikumuuza kuti: "Tiyeni tisiye mchitidwewu ndikudziwitsa wina watsopano kuyambira Lolemba," kwa iye kumakhala chidziwitso champhamvu. Ndipo zimabwera kwa aliyense nthawi imodzi.

Chifukwa chake, chinthu chosavuta, ngakhale si aliyense amene angakwanitse kugula izi, koma izi ndi zomwe ndimachita nthawi zonse, izi ndi izi. Ngati pulojekiti yatsopano iyamba, ndiye kuti machitidwe onse omwe sanayesedwe amangokhazikika mu projekitiyi. Ngakhale kuti ntchitoyi ndi yachinyamata, sitiika pachiwopsezo chilichonse. Palibe Prod panobe, palibe chowononga. Chifukwa chake, itha kugwiritsidwa ntchito ngati maphunziro. Njira imeneyi imagwira ntchito. Koma si makampani onse omwe ali ndi mwayi woyambitsa ntchito zoterezi nthawi zambiri. Ngakhale izi ndizodabwitsa pang'ono, chifukwa tsopano pali kusintha kwathunthu kwa digito, aliyense ayenera kuyambitsa zoyeserera kuti apitilize kupikisana nawo.

Apa mukufika kumapeto kuti choyamba muyenera kumvetsetsa zomwe muyenera kuchita. Dziko silili labwino, ndipo prod nayonso siyoyenera.

Inde, zinthu izi ndi zogwirizana.

Mabizinesi nawonso samamvetsetsa nthawi zonse kuti ayenera kupita mwanjira iyi.

Pali zinthu zina zomwe sizingasinthe konse. Izi ndizochitika pomwe pali zovuta zambiri pagulu. Timu yatha kale. Alibe nthawi yopuma pazoyeserera zilizonse. Amagwira ntchito kuyambira m'mawa mpaka madzulo. Ndipo kasamalidwe kamakhala ndi zinthu zochepa. Zambiri ndi zofunika. Zikatero, palibe kusintha komwe kungatheke. Timu ingouzidwa kuti mawa tipanga zomwezo dzulo, tingofunika kupanga zina. M'lingaliro ili, palibe kusintha kwa machitidwe aliwonse omwe angatheke. Izi ndizovuta kwambiri ngati palibe nthawi yonola nkhwangwa, mitengo imayenera kudulidwa, chifukwa chake amadula ndi nkhwangwa yowuma. Palibe malangizo osavuta pano.

(Dmitry) Ndiwerenga momveka bwino pamacheza: "Koma timafunikira mayeso ambiri pamagawo osiyanasiyana. Kodi ndi nthawi yochuluka bwanji yomwe yaperekedwa yoyesa mayeso? Ndizokwera mtengo pang'ono ndipo zimatenga nthawi yambiri. "

(Oleg) Awa ndi malingaliro olakwika akale. Payenera kukhala mayeso okwanira kuti mukhale otsimikiza. Kuphatikizika Kopitirizabe si chinthu chomwe 100% ya mayesero amachitidwa poyamba ndipo pokhapokha mutayamba kugwiritsa ntchito mchitidwewu. Kuphatikizika Kopitirizabe kumachepetsa katundu wanu wamaganizo chifukwa chakuti kusintha kulikonse kumene mukuwona ndi maso anu kumakhala koonekeratu kuti mumamvetsetsa ngati kuphwanya chinachake kapena ayi, ngakhale popanda mayesero. Mutha kuyesa izi mwachangu m'mutu mwanu chifukwa zosintha ndizochepa. Ngakhale mutakhala ndi oyesa pamanja okha, ndizosavuta kwa iwonso. Munatuluka ndikunena kuti: "Tawonani, pali chilichonse chomwe chasweka?" Iwo anayang'ana nati, "Ayi, palibe chomwe chasweka." Chifukwa woyesa amadziwa komwe angayang'ane. Muli ndi kudzipereka kumodzi komwe kumalumikizidwa ndi code imodzi. Ndipo izi zimagwiritsidwa ntchito ndi khalidwe linalake.

Apa inu, ndithudi, okongoletsedwa.

(Dmitry) Sindikuvomereza apa. Pali chizolowezi - chitukuko choyendetsedwa ndi mayeso, chomwe chingakupulumutseni ku izi.

(Oleg) Chabwino, sindinafike pamenepo. Chinyengo choyamba ndikuti muyenera kulemba 100% ya mayeso kapena simukuyenera kuchita Continuous Integration konse. Sizoona. Izi ndi machitidwe awiri ofanana. Ndipo sadalira mwachindunji. Mayeso anu akuyenera kukhala abwino. Zoyenera - izi zikutanthauza kuti inu nokha muli ndi chidaliro kuti khalidwe la mbuye amene mbuye wanu anakhalabe pambuyo kudzipereka kukulolani kuti akanikizire molimba mtima batani "Deploy" Lachisanu madzulo kuledzera. Kodi mumakwaniritsa bwanji izi? Kupyolera mu ndemanga, kupyolera mu kufalitsa, kupyolera mu kuyang'anira bwino.

Kuyang'anitsitsa bwino sikusiyanitsidwa ndi mayesero. Ngati muyesa mayeso kamodzi pa pre prod, ndiye kuti amawona zolemba zanu zonse kamodzi ndipo ndi momwemo. Ndipo ngati muwayendetsa mosalekeza, ndiye kuti iyi ndi njira yanu yowunikira, yomwe imayesa chilichonse - kaya idagwa kapena ayi. Pamenepa, kusiyana kokhako ndiko kuti kumachitika kamodzi kapena kawiri. Mayesero abwino kwambiri ... akuyenda mosalekeza, uku ndikuwunika. Ndipo kuwunika koyenera kuyenera kukhala kotere.

Ndipo chifukwa chake, momwe mungakwaniritsire dziko lino mukamakonzekera Lachisanu madzulo ndikupita kunyumba ndi funso lina. Mwina ndiwe wachabechabe wolimba mtima.

Tiyeni tibwererenso pang'ono ku Continuous Integration. Tinathawira mchitidwe wovuta wosiyana pang'ono.

Ndipo chinyengo chachiwiri ndi chakuti MVP, amati, iyenera kuchitidwa mwamsanga, kotero kuti mayesero sakufunika kumeneko nkomwe. Osati ndithudi mwanjira imeneyo. Chowonadi ndi chakuti mukalemba nkhani ya ogwiritsa ntchito mu MVP, mutha kuyipanga pa mpira, ndiye kuti, mudamva kuti pali nkhani yamtundu wina ndipo nthawi yomweyo mumathamangira kuyilemba, kapena mutha kugwira ntchito pogwiritsa ntchito TDD. Ndipo malinga ndi TDD, monga momwe zimasonyezera, sizitenga nthawi yaitali, mwachitsanzo, mayesero ndi zotsatira zake. Mchitidwe wa TDD sikutanthauza kuyesa. Ngakhale zomwe zimatchedwa Test Driven Development, sizokhudza mayeso konse. Iyinso ndi njira yongomanga. Iyi ndi njira yolembera zomwe zikufunika osati kulemba zomwe sizikufunika. Uwu ndi mchitidwe wongoyang'ananso kubwereza kotsatira kwa malingaliro anu pankhani yopanga kamangidwe ka pulogalamu.

Chifukwa chake, sikophweka kuchotsa zonyenga izi. MVP ndi mayeso sizitsutsana. Ngakhale, m'malo mwake, m'malo mwake, ngati mukuchita MVP pogwiritsa ntchito machitidwe a TDD, ndiye kuti muzichita bwino komanso mofulumira kuposa ngati mukuchita popanda kuchita, koma pa mpira.

Ili ndi lingaliro losawonekera komanso lovuta. Mukamva kuti tsopano ndilemba mayeso ochulukirapo ndipo nthawi yomweyo ndidzachita zinthu mwachangu, zimamveka zosakwanira.

(Dmitry) Anthu ambiri pano, akamatchula MVP, anthu amakhala aulesi kwambiri kuti alembe zinthu zabwinobwino. Ndipo izi zikadali zinthu zosiyana. Palibe chifukwa chosinthira MVP kukhala chinthu china choipa chomwe sichigwira ntchito.

Inde, mukulondola.

Ndiyeno mwadzidzidzi MVP mu prod.

Kunthawi za nthawi.

Ndipo TDD imamveka yachilendo kwambiri mukamva kuti mukulemba mayeso ndikuwoneka kuti mukugwira ntchito yochulukirapo. Zikumveka zachilendo kwambiri, koma kwenikweni zimawonekera mwachangu komanso mokongola motere. Mukalemba mayeso, mumaganiza kale kwambiri m'mutu mwanu za code yomwe idzatchulidwe ndi momwe, komanso khalidwe lomwe tikuyembekezera kuchokera kwa ilo. Simumangonena kuti ndalemba ntchito ina ndipo imachita zina. Poyamba mumaganiza kuti ali ndi zikhalidwe zakuti ndi izi, adzaitanidwa mwanjira yakuti ndi yakuti. Mumaphimba izi ndi mayesero ndipo mumvetsetsa momwe mawonekedwe anu adzawonekera mkati mwa code yanu. Izi zimakhudza kwambiri zomangamanga. Khodi yanu imakhala yowonjezereka, chifukwa mumayesa kumvetsetsa momwe mungayesere, kenako ndikulemba.

Chimene chinandichitikira ndi TDD chinali chakuti nthawi ina ndinalemba ntchito mlangizi wa Ruby ndidakali wolemba mapulogalamu a Ruby. Ndipo akuti: "Tiyeni tichite molingana ndi TDD." Ndinaganiza kuti: "Damn, tsopano ndiyenera kulemba zina zowonjezera." Ndipo tinagwirizana kuti pasanathe milungu iwiri ndilembe code yonse yogwira ntchito ku Python pogwiritsa ntchito TDD. Patapita milungu iwiri, ndinazindikira kuti sindikufuna kubwereranso. Pambuyo pa milungu iwiri yoyesera kugwiritsa ntchito izi paliponse, mumazindikira kuti zakhala zosavuta kuti mungoganiza. Koma izi sizodziwikiratu, kotero ndikupangira aliyense kuti ngati mukumva kuti TDD ndi yovuta, imatenga nthawi komanso yosafunika, yesani kumamatira nayo kwa milungu iwiri yokha. Awiri anandikwanira.

(Dmitry) Titha kukulitsa lingaliroli kuchokera pakuwona kwa magwiridwe antchito. Tisanayambitse chilichonse chatsopano, timapanga monitor ndikuyambitsa. Pamenepa, kuyang'anira kumakhala kuyesa kwachibadwa kwa ife. Ndipo pali chitukuko kudzera pakuwunika. Koma pafupifupi aliyense akunena kuti ndiutali, ndine waulesi, ndinapanga zolemba zosakhalitsa. Ngati tachita kuwunika moyenera, timamvetsetsa momwe dongosolo la CI lilili. Ndipo dongosolo la CI lili ndi zowunikira zambiri. Timamvetsetsa momwe dongosololi lilili, timamvetsetsa zomwe zili mkati mwake. Ndipo panthawi yachitukuko, tikungopanga dongosolo kuti lifike kumalo omwe tikufuna.

Machitidwewa akhala akudziwika kwa nthawi yaitali. Tinakambirana izi pafupifupi zaka 4 zapitazo. Koma m'zaka 4 palibe chomwe chasintha.

Koma pacholemba ichi, ndikupempha kuthetsa zokambirana za boma.

Kanema (yolowetsedwa ngati gawo lazofalitsa, koma pazifukwa zina sizigwira ntchito):

https://youtu.be/zZ3qXVN3Oic

Source: www.habr.com

Kuwonjezera ndemanga