Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Andeha hodinihintsika ny antony maha samy hafa tanteraka ny fitaovana CI sy ny CI.

Inona no fanaintainana nokasain'ny CI hamaha, avy aiza ny hevitra, inona no fanamafisana farany fa miasa, ahoana no ahafantarana fa manana fanao ianao fa tsy nametraka Jenkins fotsiny.

Nipoitra herintaona lasa izay ny hevitra hanao tatitra momba ny Continuous Integration, raha handeha hanao dinidinika sy hitady asa aho. Niresaka tamin'ny orinasa 10-15 aho, ny iray tamin'izy ireo ihany no afaka namaly mazava tsara ny atao hoe CI ary nanazava ny fahatsapany fa tsy manana izany izy ireo. Ny ambiny dia niresaka tsy misy dikany momba an'i Jenkins :) Eny, manana Jenkins izahay, manangana izany, CI! Nandritra ny tatitra dia hiezaka ny hanazava ny tena atao hoe Continuous Integration aho ary nahoana ny Jenkins sy ny fitaovana mitovy aminy no manana fifandraisana malemy amin'izany.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Inona àry no matetika tonga ao an-tsainao rehefa mandre ny teny hoe CI? Ny ankamaroan'ny olona dia hieritreritra an'i Jenkins, Gitlab CI, Travis, sns.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Na dia google aza isika dia hanome antsika ireo fitaovana ireo.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Raha zatra manontany ianao, dia avy hatrany rehefa avy mitanisa ireo fitaovana dia hilaza aminao izy ireo fa ny CI dia rehefa manangana sy manao fitsapana amin'ny fangatahana Pull ho an'ny fanoloran-tena ianao.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ny Continuous Integration dia tsy momba ny fitaovana, fa tsy momba ny fivoriambe misy fitsapana ao amin'ny sampana! Ny Integration Continuous dia ny fampidirana matetika ny code vaovao ary ny fampiasana azy dia tsy ilaina mihitsy ny fefy Jenkins, GitLab, sns.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Alohan'ny hamantarana ny endriky ny CI feno dia andao aloha hitsoraka ao anatin'ny tontolon'ny olona tonga amin'izany ary hahatsapa ny fanaintainana niezahany novahany.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ary namaha ny fanaintainan'ny fiaraha-miasa amin'ny ekipa izy ireo!

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Andeha hojerentsika ny ohatry ny fahasarotana atrehin'ny developer rehefa mivoatra ao anaty ekipa. Eto izahay dia manana tetikasa, sampana master ao amin'ny git ary mpamorona roa.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ary nandeha niasa toy ny efa nahazatra ny rehetra hatry ny ela. Nanao asa tamin'ny drafitra lehibe momba ny zavatra izahay, namorona sampana iray ary nanoratra ny code.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ny iray dia nahavita haingana kokoa ilay endri-javatra ary nampitambatra azy tao amin'ny master.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Nila fotoana bebe kokoa ilay faharoa, nitambatra izany taty aoriana ary niafara tamin’ny fifandonana. Ankehitriny, fa tsy manoratra ireo endri-javatra ilain'ny orinasa, ny mpamorona dia mandany ny fotoanany sy ny heriny hamahana ny fifandirana.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Arakaraka ny mahasarotra ny manambatra ny endrinao amin'ny tompo iraisana, ny fotoana lanintsika amin'izany. Ary nasehoko izany tamin'ny ohatra tsotra. Ohatra iray izay tsy misy afa-tsy 2 developer Eritrereto raha olona 10 na 15 na 100 ao amin'ny orinasa iray no manoratra amin'ny tahiry iray. Ho lasa adala ianao hamaha ireo disadisa rehetra ireo.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Misy tranga hafa kely. Manana tompo izahay ary misy developer manao zavatra.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Namorona rantsankazo izy ireo.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Maty ny iray, nilamina ny zava-drehetra, lany ny asa.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ny developer faharoa kosa no nanolotra ny asany. Andeha hatao hoe nalefany hojerena. Betsaka ny orinasa manana fomba fanao antsoina hoe famerenana. Amin'ny lafiny iray, tsara sy mahasoa io fanao io, amin'ny lafiny iray, mampiadana antsika amin'ny lafiny maro. Tsy hiditra amin'izany izahay, fa ity misy ohatra tsara amin'ny mety hitarika ny tantara famerenana ratsy. Nandefa fangatahana fisintomana hojerena ianao. Tsy misy zavatra hafa tokony hataon'ny developer. Inona no manomboka ataony? Manomboka manao asa hafa izy.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Nandritra io fotoana io dia nanao zavatra hafa ny developer faharoa.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Nahavita ny asa fahatelo ny voalohany.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ary rehefa ela ny ela, dia nosedraina ny famerenany, ary miezaka ny ho tonga amin'izany izy. Dia inona no mitranga? Mahasarika fifandirana marobe izany. Nahoana? Satria raha mbola nihantona tao amin'ny famerenana ny fangatahan'ny fisintonana azy dia betsaka ny zavatra efa niova tao amin'ny code.

Ankoatra ny tantara misy fifandirana dia misy tantara misy fifandraisana. Raha mbola mihantona amin'ny famerenana ny kofehyo, eo am-piandrasana zavatra, mandritra ny fotoana maharitra miasa amin'ny endri-javatra iray ianao, dia mijanona tsy manara-maso izay zavatra hafa miova ao amin'ny fototry ny kaody amin'ny serivisinao. Angamba efa voavaha omaly ny ezahinao vahana ankehitriny ary azonao atao ny maka fomba iray ary mampiasa azy io indray. Saingy tsy ho hitanao izany satria miasa amin'ny sampana efa lany andro ianao. Ary ity sampana efa lany andro ity dia mahatonga anao tsy maintsy mamaha fifandirana mampitambatra.

Hita fa raha miara-miasa isika, izany hoe, tsy misy olona mitsambikina ao amin'ny repository, fa olona 5-10, dia arakaraky ny tsy ampianantsika ny code amin'ny tompony, dia vao mainka mijaly isika satria mila izany. zavatra iray dia atambatra izany. Ary arakaraky ny fifandirana ananantsika, sy ny dikan-teny tranainy kokoa iarahantsika, ny olana mahazo antsika.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Maharary ny manao zavatra miaraka! Mifanohitra foana isika.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Efa 20 taona mahery lasa izay no tsikaritra io olana io. Nahita ny firesahana voalohany momba ny fampiharana Continuous Integration amin'ny Programming Extreme aho.

Extreme Programming no rafitra agile voalohany. Nivoaka tamin'ny 96 ilay pejy. Ary ny hevitra dia ny fampiasana karazana fomba fanao amin'ny programa, drafitra ary zavatra hafa, mba ho mora azo ny fampandrosoana, mba hahafahantsika mamaly haingana izay fiovana na fepetra rehetra avy amin'ny mpanjifantsika. Ary nanomboka niatrika izany izy ireo 24 taona lasa izay, fa raha manao zavatra ianao mandritra ny fotoana maharitra sy eny an-tsisin-dàlana, dia mandany fotoana bebe kokoa amin'izany ianao satria misy fifandirana.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ankehitriny isika dia handinika tsirairay ny fehezan-teny hoe "Fampidirana mitohy". Raha mandika azy mivantana isika dia mahazo fampidirana mitohy. Saingy tsy dia mazava loatra ny fitohizan'izany; Saingy tsy dia hita loatra ny integration ananany.

Ary izany no antony anomeko anao teny avy amin'ny Extreme Programming izao. Ary hodinihina misaraka ireo teny roa ireo.

Integration - Araka ny efa nolazaiko, dia miezaka izahay mba hahazoana antoka fa ny injeniera tsirairay dia miasa amin'ny dikan-teny farany indrindra amin'ny code, mba hiezahany hampiditra ny code-ny matetika araka izay azo atao amin'ny sampana iraisana, mba ho sampana kely ireo. Satria raha lehibe izy ireo, dia mety ho tafahitsoka mora foana amin'ny fifandonana mitambatra isika mandritra ny herinandro. Marina indrindra izany raha manana tsingerim-pandrosoana lava toy ny riandrano isika, izay nandehanan'ny mpamorona nandritra ny iray volana mba hanapahana endri-javatra lehibe. Ary hifikitra amin'ny dingana fampidirana mandritra ny fotoana maharitra izy.

Ny fampidirana dia rehefa maka ny sampanay isika ary mampiditra azy amin'ny tompony, dia manambatra azy. Misy safidy faratampony rehefa mpandrindra transbase izahay, izay hiezahantsika hahazoana antoka fa manoratra avy hatrany amin'ny tompony tsy misy sampana fanampiny.

Amin'ny ankapobeny, ny fampidirana dia midika hoe maka ny codeo ary misintona azy ao amin'ny master.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Inona no tiana holazaina eto amin'ny teny hoe "mitohy", inona no atao hoe fitohizana? Ny fanazaran-tena dia midika fa ny developer dia miezaka ny hampiditra ny code-ny haingana araka izay azo atao. Izany no tanjony rehefa manao asa rehetra - ny hampiditra ny kaody ho tompony haingana araka izay azo atao. Ao amin'ny tontolo tsara indrindra, ny mpamorona dia hanao izany isaky ny ora vitsivitsy. Izany hoe, maka olana kely ianao ary manambatra azy amin'ny tompony. Tsara ny zava-drehetra. Izany no iezahanao. Ary tsy maintsy atao tsy tapaka izany. Raha vao manao zavatra ianao dia apetrakao ao amin'ny tompony avy hatrany izany.

Ary ny mpamorona izay manao zavatra dia tompon'andraikitra amin'ny zavatra nataony mba hampahomby azy fa tsy handrava na inona na inona. Eo matetika no mivoaka ny tantara andrana. Te-hanao fitsapana vitsivitsy amin'ny fanoloran-tenantsika izahay, amin'ny fampifangaroanay, mba hahazoana antoka fa mandaitra izany. Ary eto no ahafahan'i Jenkins manampy anao.

Saingy miaraka amin'ny tantara: andao hataontsika kely ny fanovana, avelao ho kely ny asa, ndao hanao olana ary hiezaka avy hatrany hampiditra azy ao amin'ny tompony - tsy misy Jenkins hanampy eto. Satria i Jenkins dia hanampy anao hanao fitsapana ihany.

Afaka manao tsy misy azy ireo ianao. Tsy handratra anao mihitsy izany. Satria ny tanjon'ny fampiharana dia ny mandrefy matetika araka izay azo atao, mba tsy handany fotoana be amin'ny fifandirana amin'ny ho avy.

Alao sary an-tsaina fa noho ny antony sasany dia amin'ny taona 2020 tsy misy Internet isika. Ary miasa eto an-toerana izahay. Tsy manana Jenkins izahay. Tsara izany. Mbola afaka mandroso sy manao sampana eo an-toerana ianao. Nanoratra code vitsivitsy ianao tao. Nahavita ny asa tao anatin'ny 3-4 ora izahay. Nifindra tany amin'ny master izahay, nanao git pull, ary nampitambatra ny sampanay tao. Vonona. Raha manao izany matetika ianao dia arahabaina fa manana Integration Continuous ianao!

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Inona no porofo eto amin'izao tontolo izao ankehitriny fa mendrika ny mandany angovo? Satria amin'ny ankapobeny dia sarotra. Raha manandrana miasa toy izany ianao, dia ho azonao fa hisy fiantraikany amin'izao fotoana izao ny drafitra sasany, tsy maintsy hanokana fotoana bebe kokoa amin'ny asa simba ianao. Satria raha manao lehilahy ianao..., dia tsy ho afaka hihavana haingana ianao ary, araka izany, dia ho sahirana. Tsy hanana fanazaran-tena intsony ianao.

Ary ho lafo izany. Tsy azo atao ny miasa avy hatrany manomboka rahampitso amin'ny fampiasana Continuous Integration. Mila fotoana lava be ianareo vao zatra izany, ela be vao zatra amin'ny asa simba, ela be vao zatra mamerina ny fomba famerenana, raha manana iray . Satria ny tanjonay dia ny hiempo anio. Ary raha manao famerenana ao anatin'ny telo andro ianao, dia manana olana ianao ary tsy miasa ho anao ny Continuous Integration.

Saingy manana porofo manan-danja ve isika amin'izao fotoana izao izay milaza amintsika fa misy dikany ny fampiasam-bola amin'ity fanao ity?

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ny zavatra voalohany tonga tao an-tsaiko dia State of DevOps. Fandinihana izay efa nataon’izy ireo nandritra ny 7 taona izao. Ankehitriny izy ireo dia manao izany ho toy ny fikambanana mahaleo tena, fa eo ambanin'ny Google.

Ary ny fandalinan'izy ireo tamin'ny taona 2018 dia nampiseho fifamatorana teo amin'ireo orinasa izay manandrana mampiasa sampana fohy fohy izay mitambatra haingana, mitambatra matetika ary manana tondro fampandehanana IT tsara kokoa.

Inona avy ireo famantarana ireo? Ireo dia metrika 4 izay raisin'izy ireo avy amin'ny orinasa rehetra ao amin'ny antontan-taratasiny: ny faharetan'ny fametrahana, ny fotoana hitarika ny fanovana, ny fotoana hamerenana ny serivisy, ny fanovana ny tahan'ny tsy fahombiazana.

Ary, voalohany, misy io fifamatorana io, fantatsika fa ny orinasa izay mandrefy matetika dia manana metrika tsara kokoa. Ary manana fizarana orinasa ho sokajy maromaro izy ireo: orinasa miadana izay mamokatra zavatra miadana, mpilalao antonony, mpilalao ambony ary elite. Ny elite dia Netflix, Amazon, izay haingana be, manao ny zava-drehetra haingana, tsara tarehy ary mahomby.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Ny tantara faharoa, izay vao iray volana lasa izay. Technology Radar dia manana lahatsoratra mahafinaritra momba ny Gitflow. Tsy mitovy amin'ny hafa rehetra ny Gitflow satria maharitra ela ny sampany. Misy sampana famotsorana izay maharitra ela, ary misy sampana izay maharitra ela ihany koa. Ity fanao ao amin'ny Technology Radar ity dia nifindra tany HOLD. Nahoana? Satria ny olona dia miatrika ny fanaintainan'ny fampidirana.

Raha velona ela be ny sampanao, dia miraikitra izy, lasa lo, ary manomboka mandany fotoana bebe kokoa amin'ny fiezahana hanao karazana fanovana aminy.

Ary vao haingana ny mpanoratra ny Gitflow dia nilaza fa raha ny tanjonao dia Continuous Integration, raha ny tanjonao dia ny te-hikodiarana matetika araka izay azo atao, dia hevitra ratsy i Gitflow. Nampiany manokana tao amin'ilay lahatsoratra fa raha manana backend ianao izay ahafahanao miezaka amin'izany, dia tsy ilaina ny Gitflow ho anao, satria ny Gitflow dia hampiadana anao, Gitflow dia hamorona olana ho anao amin'ny fampidirana.

Tsy midika izany fa ratsy ny Gitflow ary tsy tokony hampiasaina. Ho an'ny fotoana hafa izany. Ohatra, rehefa mila manohana dikan-teny maromaro amin'ny serivisy na fampiharana ianao, izany hoe mila fanohanana mandritra ny fotoana maharitra.

Fa raha miresaka amin'ny olona manohana ny serivisy toy izany ianao, dia handre fanaintainana be momba ny hoe ity dikan-teny ity dia 3.2, izay 4 volana lasa izay, saingy tsy tafiditra ao anatin'izany ity fanamboarana ity ary ankehitriny, mba hanaovana izany, mila manao fanovana maromaro ianao . Ary izao dia tafahitsoka indray izy ireo, ary izao izy ireo dia nivezivezy nandritra ny herinandro nanandrana nampihatra endri-javatra vaovao.

Araka ny nomarihin'i Alexander Kovalev tamin'ny chat, ny fifandraisana dia tsy mitovy amin'ny causation. Marina izany. Izany hoe, tsy misy fifandraisana mivantana fa raha manana Continuous Integration ianao dia ho tsara ny metrika rehetra. Saingy misy fifamatorana tsara fa raha iray ny iray dia azo inoana fa ny iray ihany koa. Tsy zava-misy, fa tena azo inoana. Fampifandraisana fotsiny io.

Fampidirana mitohy ho fanao fa tsy Jenkins. Andrey Alexandrov

Toa efa manao zavatra isika, toa efa mitambatra, nefa ahoana no ahafantarantsika fa mbola misy ny Continuous Integration, fa mitambatra matetika?

Jez Humble no mpanoratra ny Handbook, Accelerate, ny tranokala Continuous Delivery, ary ny boky Continuous Delivery. Manolotra ity fitsapana ity izy:

  • Ny kaody an'ny injeniera dia mahazo ny tompony isan'andro.
  • Ho an'ny fanoloran-tena tsirairay dia manao fitsapana unit ianao.
  • Nianjera ny fananganana tao amin'ny master, raikitra tao anatin'ny 10 minitra teo ho eo.

Manoro hevitra izy ny hampiasa fitsapana toy izany mba hahazoana antoka fa manana fanazaran-tena ampy ianao.

Hitako fa somary mampiady hevitra ity farany. Izany hoe, raha afaka manamboatra azy ao anatin'ny 10 minitra ianao dia manana Continuous Integration, toa hafahafa kely izany, raha ny hevitro, fa misy dikany. Nahoana? Satria raha mivaingana matetika ianao dia midika izany fa kely ny fiovanao. Raha misy fiovana kely dia midika fa tapaka ny tranonao master, dia afaka mahita ohatra haingana ianao satria kely ny fiovana. Eto ianao dia nisy fampifangaroana kely, tsipika 20-30 no niova. Ary, araka izany, dia afaka mahatakatra haingana ny antony, satria ny fiovana dia kely, manana faritra tena kely mba hitady ny olana.

Ary na dia rava aza ny prod aorian'ny famoahana, dia raha manana ny fampiharana Continuous Integration isika, dia mora kokoa ho antsika ny mihetsika, satria kely ny fiovana. Eny, hisy fiantraikany amin'ny drafitra izany. Haratra izany. Ary, angamba, ny zavatra sarotra indrindra amin'ity fanao ity dia ny zatra mandrava asa, izany hoe ny fomba hanaovana izany mba hahafahanao maka zavatra ary manao izany ao anatin'ny ora vitsivitsy ary amin'ny fotoana iray ihany dia mandalo famerenana, raha manana iray ianao. Fanaintainana miavaka ny famerenana.

Fanampiana fotsiny ny fitsapana unit izay manampy anao hahatakatra raha nahomby ny fampidiranao ary raha tsy nisy zavatra tapaka. Raha ny hevitro dia tsy voatery tanteraka ihany koa izany, satria tsy izany no tanjona.

Ity dia fampahafantarana fohy momba ny Continuous Integration. Tsy misy afa-tsy io fanao io. Vonona amin'ny fanontaniana aho.

Hamintina fohifohy indray aho:

  • Ny Integration Continuous dia tsy Jenkins fa tsy Gitlab.
  • Tsy fitaovana io, fa fomba fanao ny manambatra ny code ao amin'ny tompony matetika araka izay azo atao.
  • Manao izany izahay mba hialana amin'ny fanaintainana goavana izay mipoitra miaraka amin'ny merges amin'ny ho avy, izany hoe mahatsapa fanaintainana kely isika ankehitriny mba tsy hitera-doza bebe kokoa amin'ny ho avy. Izany no tena hevitra.
  • Eo amin'ny sisiny dia misy fifandraisana amin'ny alàlan'ny code, saingy tena mahalana aho no mahita an'io, fa io koa no natao.

Ny fanontanianao

Inona no atao amin'ny asa tsy simba?

simba. Inona no olana? Afaka manome ohatra ve ianao fa misy asa nefa tsy simba?

Misy asa izay tsy azo lavina avy amin'ny teny hoe "tanteraka", ohatra, ireo izay mitaky fahaiza-manao tena lalina ary tena azo vahana ao anatin'ny iray volana mba hahazoana vokatra azo levonina.

Raha azoko tsara ianao, dia misy asa lehibe sy sarotra, izay ho hita ao anatin'ny iray volana ihany ny vokatr'izany?

Eny marina izany. Eny, azo atao ny manombatombana ny vokatra tsy alohan'ny iray volana.

tsara. Amin'ny ankapobeny dia tsy olana izany. Nahoana? Satria amin'ity tranga ity, rehefa miresaka momba ny rantsankazo isika dia tsy miresaka momba ny rantsankazo misy endri-javatra. Ny endri-javatra dia mety ho lehibe sy sarotra. Mety hisy fiantraikany amin'ny singa marobe izy ireo. Ary angamba tsy afaka manao izany tanteraka amin'ny sampana iray isika. Tsara izany. Mila manapaka ity tantara ity fotsiny isika. Raha tsy vonona tanteraka ny endri-javatra iray dia tsy midika izany fa tsy azo atambatra ny ampahany sasany amin'ny kaody. Nanampy ianao, hoy, ny fifindra-monina ary misy dingana sasantsasany ao anatin'ilay endri-javatra. Aoka hatao hoe manana sehatra ianao - manao fifindra-monina, ampio fomba vaovao. Ary afaka mandrefy ireo zavatra ireo isan'andro ianao.

tsara. Inona ary no tanjona?

Inona no dikan'ny famonoana zavatra kely isan'andro?

Eny.

Raha manapaka zavatra izy ireo dia hitanao avy hatrany. Manana sombin-javatra kely nanimba zavatra ianao, mora kokoa aminao ny manamboatra izany. Ny tiana holazaina dia ny manambatra ampahany kely izao dia mora kokoa noho ny manambatra zavatra lehibe ao anatin'ny herinandro vitsivitsy. Ary ny teboka fahatelo dia ny injeniera hafa dia hiasa amin'ny dikan-teny ankehitriny. Ho hitan'izy ireo fa nisy fifindra-monina nampiana teto, ary avy eo dia niseho ny fomba mety ho tiany hampiasaina. Ho hitan'ny rehetra ny zava-mitranga ao amin'ny kaodinao. Ireo zavatra telo ireo no anaovana fanazaran-tena.

Misaotra fa tapitra ny olana!

(Oleg Soroka) Afaka manampy ve aho? Marina daholo ny voalazanao, te-hanampy fehezanteny iray fotsiny aho.

Izany.

Miaraka amin'ny Continuous Integration, ny kaody dia mitambatra ho sampana iraisana tsy rehefa vonona tanteraka ny endri-javatra, fa rehefa mijanona ny fananganana. Ary afaka manolo-tena soa aman-tsara ianao hifehy imbetsaka isan'andro araka izay tianao. Ny lafiny faharoa dia raha toa ka tsy afaka manapaka ny asa isam-bolana ho asa mandritra ny telo andro farafahakeliny aho, mangina adiny telo eo ho eo aho, dia manana olana goavana ianao. Ary ny hoe tsy manana Continuous Integration ianao no kely indrindra amin'ireo olana ireo. Midika izany fa manana olana amin'ny haitao sy ny fomba injeniera aotra ianao. Satria na dia fikarohana aza izany, dia tsy maintsy amboarina amin'ny endrika petra-kevitra na tsingerina.

Niresaka momba ny metrika 4 izahay izay manavaka ireo orinasa mahomby amin'ny orinasa mitarazoka. Mbola mila miaina isika vao mahita ireo metrika 4 ireo. Raha maharitra iray volana vao vita ny asa antonony, dia hifantoka amin'ity metrika ity aloha aho. Ataoko 3 andro aloha ilay izy. Ary taorian'izay dia nanomboka nieritreritra momba ny Continuous aho.

Azoko tsara ve ianao fa mihevitra ianao fa amin'ny ankapobeny dia tsy misy dikany ny fampiasam-bola amin'ny fomba fanao amin'ny injeniera raha misy asa iray maharitra iray volana vao vita?

Manana Integration Continuous ianao. Ary misy lohahevitra toy izany fa ao anatin'ny 10 minitra dia azonao atao ny manamboatra fanamboarana na mamerina izany. Alaivo sary an-tsaina hoe nanakodia azy ianao. Ankoatr'izay, manana fandefasana tsy tapaka ianao, nanakodia azy ho prod ary vao tsikaritra fa nisy zavatra tsy nety. Ary mila averinao izy io, fa efa nifindra monina ianao. Efa manana ny schema database amin'ny dikan-teny manaraka ianao, ankoatra izany, manana karazana backup ianao, ary nosoratana tao koa ny angona.

Ary inona no safidy hafa anananao? Raha averinao miverina ilay kaody dia tsy afaka miasa intsony amin'ity angon-drakitra nohavaozina ity.

Ny fototra ihany no mandroso, eny.

Ny olona manana fomba fanao ara-teknika ratsy dia mety tsy namaky ny boky matevina momba ny ... na. Inona no atao amin'ny backup? Raha mamerina amin'ny backup ianao dia midika izany fa very ny angon-drakitra voaangonao nandritra io fotoana io. Ohatra, niasa nandritra ny adiny telo izahay niaraka tamin'ny dikan-teny vaovao momba ny angon-drakitra, nisoratra anarana tao ireo mpampiasa. Mandà ny backup taloha ianao satria tsy mandeha amin'ny kinova vaovao ilay tetika, ka very ireo mpampiasa ireo. Ary tsy afa-po izy ireo, mianiana.

Mba hifehezana ireo fomba fanao feno manohana ny fampidirana mitohy sy ny fandefasana mitohy, dia tsy ampy ny mianatra manoratra fotsiny.... Voalohany, mety ho be dia be izy ireo, tsy azo ampiharina izany. Ankoatra izany dia misy fomba fanao maro hafa toy ny Scientific. Misy fomba fanao toy izany, nalaza ny GitHub tamin'ny fotoana iray. Izany dia rehefa manana kaody taloha sy kaody vaovao mandeha miaraka. Izany dia rehefa manao endri-javatra tsy vita ianao, saingy afaka mamerina ny sandany: na amin'ny asa na amin'ny API Rest. Manatanteraka ny kaody vaovao sy ny kaody taloha ianao, ary ampitahao ny fahasamihafana misy eo amin'izy ireo. Ary raha misy fahasamihafana, dia soraty ity hetsika ity. Amin'izany fomba izany no ahafantaranao fa manana endri-javatra vaovao vonona ny hivoaka eo an-tampon'ilay taloha ianao raha toa ka tsy nisy tsy fitoviana teo amin'izy roa nandritra ny fotoana iray.

Misy an-jatony ny fanao toy izany. Manoro hevitra aho hanomboka amin'ny fampandrosoana transbase. Tsy 100% amin'ny Integration Continuous izy, fa ny fanao dia mitovy, tsy afaka miaina tsara ny iray raha tsy misy ny iray.

Moa ve ianao nanome ohatra ny fampivoarana transbase hahitanao fomba fanao sa manoro hevitra ny olona hanomboka hampiasa transbase debelopment ve ianao?

Jereo, satria tsy ho afaka hampiasa izany izy ireo. Mba hampiasana azy ireo dia mila mamaky be dia be ianao. Ary rehefa manontany ny olona iray hoe: "Inona no tokony hatao amin'ny endri-javatra iray maharitra iray volana, midika izany fa tsy namaky momba ny fivoaran'ny transbase izy." Mbola tsy manoro an'io aho. Manoro hevitra aho hifantoka fotsiny amin'ny lohahevitra momba ny fomba fandravana asa lehibe ho kely kokoa amin'ny fomba ara-javakanto. Izany no fototry ny fanimbana.

Iray amin'ireo fitaovan'ny mpanao mari-trano ny fanimbana. Manao analyse aloha isika, avy eo decomposition, avy eo synthesis, avy eo integration. Ary toy izany no fandehan'ny zava-drehetra ho antsika. Ary mbola mila mivoatra mankany amin'ny Integration Continuous amin'ny alàlan'ny fanimbana. Mipoitra ny fanontaniana amin'ny dingana voalohany, ary efa miresaka momba ny dingana fahefatra isika, izany hoe, arakaraka ny fanaovana integration matetika no tsara kokoa. Mbola aloha loatra ny manao izany;

Mila manao zana-tsipìka sy efamira maromaro amin'ny kisary sasany ianao. Tsy afaka milaza ianao fa izao dia hasehoko ny kisary ara-javakanto amin'ny fampiharana vaovao ary hampiseho efamira iray, izay misy bokotra maitso ho an'ny fampiharana. Na ahoana na ahoana, dia hisy efamira sy zana-tsipìka bebe kokoa. Ny kisary rehetra hitako dia nanana mihoatra ny iray. Ary ny fanimbana, na dia eo amin'ny haavon'ny fanehoana an-tsary aza, dia efa mitranga. Noho izany, ny kianja dia azo atao mahaleo tena. Raha tsy izany dia manana fanontaniana lehibe ho an'ny architect aho.

Misy fanontaniana avy amin'ny chat: "Raha tsy maintsy atao ny famerenana ary maharitra ela, mety ho iray andro na mihoatra?"

Manana olana amin'ny fampiharana ianao. Tsy tokony haharitra iray andro na mihoatra ny famerenana. Ity dia tantara mitovy amin'ny fanontaniana teo aloha, somary malefaka kokoa. Raha mitohy mandritra ny iray andro ny famerenana, dia azo inoana fa misy fiovana lehibe io famerenana io. Midika izany fa mila atao kely kokoa. Ao amin'ny fivoaran'ny transbase, izay natolotr'i Oleg, dia misy tantara antsoina hoe famerenana mitohy. Ny heviny dia ny manao fangatahana fisintonana kely toy izany amin'ny tanjona, satria miezaka ny mitambatra tsy tapaka sy amin'ny fotoana iray. Ary noho izany ny fangatahana fisintonana dia manova abstraction iray na andalana 10. Noho ity famerenana ity dia mila minitra vitsivitsy izahay.

Raha maharitra iray andro na mihoatra ny famerenana dia misy zavatra tsy mety. Voalohany, mety manana olana amin'ny architecture ianao. Na kaody lehibe ity, tsipika 1 ohatra. Na sarotra be ny architecture-nao ka tsy takatry ny olona. Olana somary mitsivalana ihany ity, saingy tsy maintsy vahana ihany koa. Angamba tsy ilaina ny famerenana mihitsy. Mila mieritreritra izany koa isika. Ny famerenana no zavatra mampiadana anao. Manana tombony amin'ny ankapobeny izy io, saingy mila azonao ny antony anaovanao izany. Fomba entinao mampita vaovao haingana ve izany, fomba iray hametrahanao fitsipika anatiny ve sa ahoana? Nahoana ianao no mila izany? Satria ny famerenana dia mila atao haingana be na foanana tanteraka. Tahaka ny fivoaran'ny transbase - tena tsara tarehy ny tantara, fa ho an'ny lehilahy matotra ihany.

Mikasika ireo metrika 4, dia mbola manoro hevitra aho ny hanaisotra azy ireo mba hahatakarana ny anton'izany. Jereo ny isa, jereo ny sary, ny ratsy rehetra.

(Dmitry) Vonona ny hiditra amin'ny adihevitra momba izany miaraka aminao aho. Tsara daholo ny isa sy ny metrika, tsara ny fanao. Saingy mila mahatakatra ianao raha mila izany ny orinasa. Misy ny orinasa tsy mila fiovana haingana toy izany. Mahafantatra orinasa tsy azo atao isaky ny 15 minitra aho. Ary tsy hoe satria ratsy be izy ireo. Izany no tsingerin'ny fiainana. Ary mba hahatonga ny sampana endri-javatra, ny toggle endri-javatra, dia mila fahalalana lalina.

Manahirana. Raha te hamaky ny tantara momba ny fampiasa toggle amin'ny antsipiriany bebe kokoa ianao dia manoro hevitra azy aho https://trunkbaseddevelopment.com/. Ary misy lahatsoratra mahafinaritra nataon'i Martin Fowler momba ny endri-javatra toggle: inona no karazana misy, tsingerin'ny fiainana, sns. Sarotra ny endri-javatra toggle.

Ary mbola tsy namaly ilay fanontaniana ianao hoe: "Ilaina ve i Jenkins sa tsia?"

Jenkins dia tsy ilaina amin'ny toe-javatra rehetra. Na izany aza, ny fitaovana: Jenkins, Gitlab dia hitondra anao mora. Ho hitanao fa mivory ny fivoriambe na tsy mivory. Afaka manampy anao izy ireo, fa tsy hanome anao fanazaran-tena. Izy ireo ihany no afaka manome anao faribolana - Ok, fa tsy Ok. Ary avy eo, raha manoratra fitsapana koa ianao, satria raha tsy misy fitsapana, dia saika tsy misy dikany izany. Noho izany, ilaina izany satria mety kokoa, fa amin'ny ankapobeny dia afaka miaina tsy misy azy ianao, tsy ho very ianao.

Izany hoe, raha manana fanao ianao, midika ve izany fa tsy mila izany ianao?

Marina izany. Manoro hevitra ny fitsapana Jez Humble aho. Eto aho dia manana toe-tsaina ambivalent manoloana ny teboka farany. Saingy amin'ny ankapobeny, raha manana zavatra telo ianao, mitambatra tsy tapaka, manao fitsapana amin'ny commits ao amin'ny tompony ianao, manamboatra haingana ny fananganana ao amin'ny tompony, ary angamba tsy mila zavatra hafa ianao.

Eo am-piandrasana ny fanontanian'ny mpandray anjara dia manana fanontaniana aho. Niresaka momba ny kaody vokatra fotsiny izahay. Efa nampiasa azy io ho an'ny kaody fotodrafitrasa ve ianao? Mitovy ve ny fehezan-dalàna, mitovy ny foto-kevitra sy ny tsingerin'ny fiainana, sa misy tsingerin'ny fiainana sy fitsipika samy hafa? Matetika, rehefa miresaka momba ny Integration Continuous sy ny Fampandrosoana ny tsirairay dia hadinon'ny rehetra fa misy ihany koa ny fehezan-dalàna momba ny fotodrafitrasa. Ary tato ho ato dia nitombo hatrany izany. Ary tokony hoentina any ve ireo fitsipika rehetra ireo?

Na dia tsy tokony ho izany aza, dia ho tsara izany satria hanamora ny fiainana amin'ny fomba mitovy. Raha vantany vao miasa miaraka amin'ny code isika, fa tsy amin'ny script bash, fa manana code normal.

Atsaharo, atsaharo, ny script bash koa dia code. Aza mikasika ny fitiavako taloha.

Eny, tsy hanitsaka ny fahatsiarovanao aho. Tsy tiako manokana ny bash. Mampatahotra sy mampatahotra foana izy io. Ary matetika dia tapaka tsy ampoizina izany, izay no tsy tiako. Fa tsara, andao atao hoe manana code bash ianao. Angamba tena tsy azoko ary misy rafitra fitiliana mahazatra any. Tsy fantatro fotsiny. Ary mahazo tombony mitovy.

Raha vao miara-miasa amin'ny fotodrafitrasa ho code izahay dia mahazo olana mitovy amin'ny developer. Volana vitsivitsy lasa izay, nifanena tamina toe-javatra iray izay nandefasan'ny mpiara-miasa amiko fangatahana fisintonana andalana 1 amin'ny bash. Ary mihantona amin'ny famerenana mandritra ny 000 ora ianao. Mipoitra ihany koa ireo olana ireo. Mbola code io. Ary mbola fiaraha-miasa ihany. Mifikitra amin'ny fangatahan'ny fisintonana izahay ary mijanona amin'ny hoe mamaha ny fifanolanana mitambatra ao anaty bash iray ihany, ohatra.

Mazoto mijery an'ity zavatra rehetra ity amin'ny fandaharana infra tsara tarehy indrindra aho izao. Nentiko tao amin'ny fotodrafitrasa i Pulumi izao. Ity dia fandaharana amin'ny endriny madio indrindra. Mbola mahafinaritra kokoa izany, satria manana ny fahaiza-manao rehetra amin'ny fiteny fandaharana aho, izany hoe nanao toggle tsara tarehy avy amin'ny manga miaraka amin'ny ifs mitovy ary tsara ny zava-drehetra. Izany hoe efa ao amin'ny tompo ny fanovana ahy. Efa mahita azy ny rehetra. Fantatry ny injeniera hafa izany. Efa nisy fiantraikany teo amin'ny zavatra iray izany. Tsy natao ho an’ny fotodrafitrasa rehetra anefa izany. Nivadika ho an'ny dabilio fitsapana izany, ohatra. Noho izany, mba hamaliana ny fanontanianao indray dia ilaina izany. Manamora ny fiainana ho antsika izany, amin'ny maha injeniera miasa amin'ny code, amin'ny fomba mitovy.

Raha misy hafa manana fanontaniana?

Manana fanontaniana aho. Te-hanohy ny resaka miaraka amin'i Oleg aho. Amin'ny ankapobeny, heveriko fa marina ny anao, fa raha maharitra iray volana ny asa iray vao vita, dia manana olana amin'ny architecture ianao, manana olana amin'ny analyse, décomposition, planina, sns. Fa manana fahatsapana aho fa raha manomboka ianao miezaka miaina araka ny Continuous Integration, dia hanomboka hanitsy ny fanaintainana amin'ny drafitra, satria tsy hiala amin'izany na aiza na aiza.

(Oleg) Eny, marina izany. Ity fomba fanao ity dia azo ampitahaina amin'ny ezaka amin'ny fomba hafa izay manova kolontsaina matotra. Ny tena sarotra resena dia ny fahazarana, indrindra ny fahazaran-dratsy. Ary raha mba hampiharana io fomba fanao io, dia ilaina ny fiovana lehibe eo amin'ny fahazaran'ny olona manodidina anao: developer, mpitantana, mpitantana ny famokarana, dia misy tsy ampoizina miandry anao.

Inona no mety hitranga? Andeha hatao hoe manapa-kevitra ianao fa hampiditra matetika kokoa. Ary manana zavatra hafa mifandray amin'ny fampidirana ianao, ohatra, artifacts. Ary ao amin'ny orinasanao, ohatra, dia misy ny politika fa ny artifact tsirairay dia tsy maintsy raisina amin'ny fomba sasany amin'ny karazana rafitra fitahirizana artifact. Ary mila fotoana kely izany. Ny olona iray dia mila manamarina ny boaty fa izy, amin'ny maha-mpitantana famoahana azy, dia nanandrana ity artifact ity mba hahazoana antoka fa vonona ny hamoaka azy amin'ny famokarana. Raha maka 5-10-15 minitra, fa manao ny layout indray mandeha isan-kerinandro, dia ny mandany antsasak'adiny indray mandeha isan-kerinandro dia hetra kely.

Raha manao Continuous Integration in-10 isan'andro ianao dia mila ampitomboina in-10 amin'ny 30 minitra. Ary izany dia mihoatra ny fotoana fiasan'ity mpitantana ny famoahana ity. Leo manao izany fotsiny izy. Misy sara raikitra ho an'ny fanao sasany. Izay ihany.

Ary mila manafoana an'io fitsipika io ianao mba tsy hanaovanao fako toy izany intsony, izany hoe tsy manome diplaoma amin'ny tanana ianao mba hifanaraka amin'ny zavatra iray. Miantehitra tanteraka amin'ny andiana fitsapana fahavononana mandeha ho azy ianao.

Ary raha mila porofo avy amin'ny olona iray ianao, mba hanasoniavan'ny lehibeny azy, ary tsy miditra amin'ny famokarana ianao raha tsy miteny i Vasya fa mamela azy, sns. - izany hadalana rehetra izany dia miditra amin'ny lalan'ny mpitsabo. Satria raha misy hetsika mifandraika amin'ny hetra, dia mitombo avo 100 heny ny zava-drehetra. Noho izany, ny fiovana dia matetika tsy hiarahaba ny rehetra amin'ny fifaliana. Satria sarotra ovana ny fomban’ny olona.

Rehefa manao ny asany mahazatra ny olona iray dia saika tsy misaina. Aotra ny enta-mavesany. Milalao fotsiny izy io, efa misy lisitra fanamarinana ao an-dohany, efa in-arivo no nataony. Ary raha vantany vao tonga ianao ary miteny aminy hoe: "Andao hofoanana ity fanao ity ary hampiditra vaovao manomboka amin'ny alatsinainy", ho azy dia lasa enta-mavesatry ny saina. Ary tonga amin'ny rehetra indray mandeha izany.

Noho izany, ny zavatra tsotra indrindra, na dia tsy ny olon-drehetra no mahavidy an'io haitraitra io, fa izao no ataoko foana, dia izao manaraka izao. Raha misy tetikasa vaovao manomboka, dia matetika ny fanao tsy voasedra rehetra dia mivondrona avy hatrany ao anatin'ity tetikasa ity. Na dia mbola tanora aza ny tetikasa, dia tsy tena mampidi-doza na inona na inona izahay. Tsy mbola misy ny Prod, tsy misy azo rava. Noho izany dia azo ampiasaina ho fampiofanana. Ity fomba fiasa ity dia miasa. Saingy tsy ny orinasa rehetra no manana fahafahana hanomboka tetikasa toy izany matetika. Na dia somary hafahafa ihany koa aza izany, satria misy ny fiovana nomerika tanteraka ankehitriny, tsy maintsy manomboka andrana ny tsirairay mba haharaka ny mpifaninana.

Eto ianao dia tonga amin'ny fanatsoahan-kevitra fa tsy maintsy manana fahatakarana ny zavatra tokony hataonao aloha ianao. Tsy idealy izao tontolo izao, ary tsy idealy koa ny prod.

Eny, mifandray ireo zavatra ireo.

Tsy takatry ny orinasa ihany koa fa mila mandeha amin'izany izy ireo.

Misy toe-javatra izay tsy misy fiovana azo atao mihitsy. Izany dia toe-javatra izay misy tsindry bebe kokoa amin'ny ekipa. Efa tena may ny ekipa. Tsy manam-potoana hanaovana andrana izy. Miasa amin'ny endri-javatra izy ireo manomboka amin'ny maraina ka hatramin'ny hariva. Ary ny fitantanana dia manana endri-javatra vitsy kokoa. Mihabetsaka no ilaina. Amin'ny toe-javatra toy izany dia tsy misy fiovana azo atao mihitsy. Ny ekipa ihany no azo lazaina fa rahampitso dia hanao toy ny omaly izahay, mila manao endri-javatra kely kokoa. Amin'io lafiny io, tsy misy fiovana amin'ny fomba fanao azo atao. Toe-javatra mahazatra izany rehefa tsy misy fotoana hanitsiana ny famaky, mila tapahina ny hazo, ka tapaho amin'ny famaky manjavozavo. Tsy misy toro-hevitra tsotra eto.

(Dmitry) Mamaky fanazavana avy amin'ny chat aho: “Saingy mila fandrakofana fitsapana maro amin'ny ambaratonga samihafa izahay. Ohatrinona ny fotoana atokana hanaovana fitiliana? Lafo kely izany ary mila fotoana be. ”

(Oleg) Hevi-diso mahazatra izany. Tokony hisy fitsapana ampy ho anao mba hatoky tena. Ny Integration Continuous dia tsy zavatra izay 100% amin'ny fitsapana no atao voalohany ary vao manomboka mampihatra an'io fanao io ianao. Ny Integration Continuous dia mampihena ny enta-mavesatry ny sainao noho ny zava-misy fa ny fiovana tsirairay izay hitanao amin'ny masonao dia tena miharihary ka azonao raha handrava zavatra izany na tsia, na dia tsy misy fitsapana aza. Azonao atao ny manandrana izany haingana ao an-dohanao satria kely ny fiovana. Na dia manana tester manual aza ianao dia mora kokoa ho azy ireo ihany koa. Nihodina ianao ary niteny hoe: "Jereo, misy zavatra simba ve?" Nijery izy ireo ary nanao hoe: “Tsia, tsy misy simba.” Satria fantatry ny mpanandrana hoe aiza no hijerena. Manana commit iray mifandray amin'ny kaody iray ianao. Ary izany dia hararaotin'ny fitondran-tena manokana.

Eto ianao, mazava ho azy, voaravaka.

(Dmitry) Tsy ekeko eto. Misy fomba fanao - fampandrosoana andrana, izay hamonjy anao amin'izany.

(Oleg) Eny, mbola tsy tonga amin'io fotoana io aho. Ny illusion voalohany dia mila manoratra 100% amin'ny fitsapana ianao na tsy mila manao Continuous Integration mihitsy. Tsy marina izany. Fomba roa mifanitsy ireo. Ary tsy miankina mivantana izy ireo. Tokony ho tsara indrindra ny fandrakofam-panadinanao. Optimal - midika izany fa matoky ianao fa ny kalitaon'ny tompony izay nijanonan'ny tompony taorian'ny fanoloran-tena dia ahafahanao manindry amim-pahatokiana ny bokotra "Deploy" amin'ny zoma hariva mamo. Ahoana no hanatratraranao izany? Amin'ny alàlan'ny famerenana, amin'ny alàlan'ny fandrakofana, amin'ny fanaraha-maso tsara.

Ny fanaraha-maso tsara dia tsy azo avahana amin'ny fitsapana. Raha manao fitsapana indray mandeha ianao amin'ny pre prod, dia hojeren'izy ireo indray mandeha ny sora-baventy mpampiasa anao ary izay no izy. Ary raha mihazakazaka azy ireo amin'ny loop tsy misy farany ianao, dia ity no rafitra fanaraha-maso napetrakao, izay mizaha toetra tsy misy farany ny zava-drehetra - na nianjera izany na tsia. Amin'ity tranga ity, ny hany mahasamihafa azy dia ny atao indray mandeha na indroa. Fitsapana tena tsara... mandeha tsy misy fiafarana, fanaraha-maso izany. Ary ny fanaraha-maso araka ny tokony ho izy dia tokony ho toy izany.

Ary noho izany, ahoana marina no hahatongavanao io fanjakana io rehefa miomana amin'ny zoma hariva ianao ary mody dia fanontaniana iray hafa. Sao dia scumbag sahy fotsiny ianao.

Andao hiverina kely amin'ny Continuous Integration. Nandositra nankany amin'ny fomba fanao sarotra hafa kely izahay.

Ary ny illusion faharoa dia hoe mila atao haingana ny MVP, hoy izy ireo, ka tsy ilaina ny fitiliana any mihitsy. Tsy azo antoka izany. Ny zava-misy dia rehefa manoratra tantara momba ny mpampiasa amin'ny MVP ianao dia azonao atao ny mampivelatra azy amin'ny baolina, izany hoe, henonao fa nisy karazana tantaran'ny mpampiasa ary avy hatrany dia nihazakazaka nanamboatra azy io, na afaka miasa amin'ny TDD. Ary araka ny TDD, araka ny asehon'ny fampiharana, dia tsy maharitra ela izany, izany hoe ny fitsapana dia voka-dratsiny. Ny fampiharana ny TDD dia tsy momba ny fitsapana. Na dia eo aza ny antsoina hoe Test Driven Development, tsy momba ny fitsapana velively izany. Ity dia fomba fiasa ara-javakanto ihany koa. Fomba entina manoratra izay tena ilaina fa tsy manoratra izay tsy ilaina. Fomba fanao amin'ny fifantohana amin'ny fanavaozana manaraka ny eritreritrao momba ny famoronana maritrano fampiharana izany.

Noho izany, tsy dia mora ny manala ireo hevi-diso ireo. Tsy mifanipaka ny MVP sy ny fitsapana. Na izany aza, ny mifanohitra amin'izany aza, raha manao MVP amin'ny fampiasana TDD ianao, dia ho tsara kokoa sy haingana kokoa noho ny manao izany tsy misy fanazaran-tena mihitsy, fa amin'ny baolina.

Hevitra tena tsy mazava sy saro-takarina izany. Rehefa mandre ianao fa izao dia hanoratra fitsapana bebe kokoa aho ary hanao zavatra haingana kokoa, toa tsy ampy izany.

(Dmitry) Maro ny olona eto, rehefa miantso MVP, dia kamo loatra ny olona hanoratra zavatra mahazatra. Ary mbola zavatra hafa ihany ireo. Tsy ilaina ny mamadika ny MVP ho zavatra ratsy tsy mandeha.

Eny, eny, marina ny anao.

Ary avy eo tampoka MVP in prod.

Mandrakizay.

Ary toa tsy mahazatra ny TDD rehefa mandre fa manoratra fitsapana ianao ary toa manao asa bebe kokoa. Toa hafahafa be izany, fa raha ny marina dia lasa haingana kokoa sy tsara tarehy kokoa izany. Rehefa manoratra fitsapana ianao dia efa mieritreritra be dia be ao an-dohanao momba ny fehezan-dalàna hiantsoana sy ny fomba, ary koa ny fihetsika andrasantsika amin'izany. Tsy lazainao fotsiny hoe nanoratra asa sasany aho ary misy zavatra ataony. Tamin'ny voalohany dia nihevitra ianao fa manana fepetra toy izao sy izao izy, dia hiantsoana azy amin'ny fomba toy izao sy izao. Manarona izany amin'ny fitsapana ianao ary avy amin'izany dia azonao ny fomba fijerin'ny interfaces ao anatin'ny code-nao. Misy fiantraikany lehibe amin'ny maritrano izany. Ny kaody anao dia lasa modular kokoa, satria ianao aloha miezaka ny hahatakatra ny fomba hitsapana azy, ary avy eo dia soraty.

Ny nanjo ahy tamin'ny TDD dia nisy fotoana nanakarama mpanoro hevitra an'i Ruby aho fony aho mbola programmer Ruby. Ary hoy izy: "Andao hatao araka ny TDD." Nieritreritra aho hoe: “Ahoana, tsy maintsy manoratra zavatra fanampiny aho izao.” Ary nifanaiky izahay fa ao anatin'ny tapa-bolana dia hanoratra ny code rehetra miasa amin'ny Python aho amin'ny fampiasana TDD. Rehefa afaka tapa-bolana, dia tsapako fa tsy te hiverina aho. Rehefa avy nanandrana nampihatra an'io hatraiza hatraiza io ny tapa-bolana, dia tsapanao fa lasa mora kokoa aminao ny mieritreritra fotsiny. Saingy tsy mazava izany, ka manoro hevitra ny rehetra aho fa raha mahatsapa ianao fa sarotra, mandany fotoana ary tsy ilaina ny TDD dia andramo ny hifikitra amin'izany mandritra ny tapa-bolana monja. Ampy ahy ny roa.

(Dmitry) Afaka manitatra io hevitra io isika amin'ny fomba fijery ny fampandehanana fotodrafitrasa. Alohan'ny hamoahana zava-baovao dia manara-maso ary manomboka. Amin'ity tranga ity, ny fanaraha-maso dia lasa fitsapana mahazatra ho antsika. Ary misy ny fampandrosoana amin’ny alalan’ny fanaraha-maso. Saingy saika ny rehetra no milaza fa lava, kamo aho, nanao drafitra vonjimaika aho. Raha nanao fanaraha-maso ara-dalàna isika dia takatsika ny toetry ny rafitra CI. Ary ny rafitra CI dia manana fanaraha-maso be dia be. Takatsika ny toetry ny rafitra, takatsika ny ao anatiny. Ary mandritra ny fampandrosoana dia manao ny rafitra fotsiny isika mba hahatongavana amin'ny fanjakana tiana.

Efa ela no nahafantarana ireo fanao ireo. Efa 4 taona teo ho eo izay no nifanakalozan-kevitra momba izany. Saingy tao anatin'ny 4 taona dia saika tsy nisy fiovana.

Saingy amin'ity fanamarihana ity dia manolotra soso-kevitra ny hamarana ny dinika ofisialy aho.

Lahatsary (nampidirina ho singa media, saingy noho ny antony tsy mandeha):

https://youtu.be/zZ3qXVN3Oic

Source: www.habr.com