Sida aan u hirgelinay SonarQube oo aan xaqiiqsanay awooddeeda weyn

Sida aan u hirgelinay SonarQube oo aan xaqiiqsanay awooddeeda weyn

Waxaan jeclaan lahayn inaan wadaagno waayo-aragnimadeena hirgelinta madal loogu talagalay falanqaynta joogtada ah iyo cabbirka tayada koodka SonarQube ee hababka jira ee horumarinta nidaamka DPO (oo lagu daro nidaamka kaydinta iyo nadiifinta Alameda) ee Kaydka Dejinta Qaranka.

Kaydka Dejinta Qaranka (Kooxda Sarrifka Shirkadaha Moscow) waa mid ka mid ah shirkadaha kaabayaasha dhaqaalaha ee muhiimka ah ee kaydiya oo diiwaangeliya dammaanadaha soosaarayaasha Ruushka iyo kuwa ajnabiga ah ee qiimahoodu ka badan yahay 50 trillion rubles. Mugga sii kordhaya ee hawlgallada uu fuliyo nidaamka, iyo sidoo kale kororka joogtada ah ee shaqeynta, waxay u baahan yihiin ilaalinta tayada sare ee koodhka isha ee nidaamyada. Mid ka mid ah qalabka lagu gaaro yoolkan waa SonarQube static analyzer. Maqaalkan, waxaan ku sifeyneynaa waayo-aragnimada guusha leh ee si aan kala go 'lahayn u hirgelinaysa falanqaynta joogtada ah ee SonarQube ee hababka horumarinta ee waaxdeena.

Si kooban oo ku saabsan waaxda

Kartideena waxaa ka mid ah qaybahan soo socda: lacag-bixinta macaamiisha NSD, maaraynta dukumentiga elektarooniga ah (EDF), habaynta fariimaha kaydka ganacsiga (diwaangelinta macaamilka sarrifka), kanaalada isdhexgalka elegtarooniga ah ee u dhexeeya macaamiisha iyo NSD, iyo wax kaloo badan. Guud ahaan, lakabka weyn ee shaqada ee dhinaca farsamada ee hawlaha. Waxaan ku shaqeynaa ku saleysan codsiyada. Codsiyada tibaaxayaasha waxaa habeeya falanqeeyayaasha: waxay ururiyaan shuruudaha macaamiisha waxayna noo soo bandhigaan aragtidooda ku saabsan sida ay ugu habboon tahay barnaamijka. Dheeraad ah, nidaamka caadiga ah: horumarinta koodhka - tijaabinta - hawlgalka tijaabada - bixinta koodhka wareegga wax soo saarka ee macaamiisha tooska ah.

Waa maxay sababta SonarQube?

Tani waa waayo-aragnimadii ugu horreysay ee waaxdeenna si ay u hirgeliso madal loogu talagalay koontaroolka tayada koodhka - markii hore waxaanu ku samaynay gacanta, kaliya dib u eegista code. Laakiin mugga sii kordhaya ee shaqadu waxay u baahan tahay hab-raaca habraacan. Intaa waxaa dheer, waxaa sidoo kale jira shaqaale aan khibrad lahayn oo ka tirsan kooxda kuwaas oo aan si buuxda u aqoon shuruucda horumarinta gudaha waxayna u muuqdaan inay sameeyaan khaladaad badan. Si loo xakameeyo tayada koodhka, waxaa la go'aamiyay in la hirgeliyo falanqeeye taagan. Maadaama SonarQube horay loogu isticmaalay qaar ka mid ah nidaamyada NSD, ma qaadan waqti dheer in la doorto. Markii hore, asxaabta ka socota qaybaha kale waxay u isticmaaleen inay falanqeeyaan code-yada microservices ee nidaamka Alameda (NSD ee kaydinta iyo nadiifinta nidaamka xisaabinta), ee CFT (nidaamka macluumaadka ee xisaabinta, dheelitirka, diyaarinta warbixinta khasabka ah iyo gudaha), qaar kale nidaamyada . Tijaabada, waxaan go'aansanay inaan ku bilowno nooca bilaashka ah ee SonarQube. Haddaba aan u gudubno arrinkayaga.

Habka fulinta

Waxaan haynaa:

  • isu-ururinta tooska ah ee nidaamka ee TeamCity;
  • deji habka gelinta koodka iyada oo loo marayo MergeRequest laga bilaabo laan muuqaal ah ilaa laanta sare ee GitLab (nidaamka horumarinta sida waafaqsan GitHub Flow);
  • SonarQube waxaa loo habeeyey si ay u falanqeyso koodka nidaamka DPO ee jadwalka.

HadafkayaguHirgelinta falanqaynta koodhka tooska ah ee hababka CI/CD ee AVE.

Waxaan u baahanahay in la habeeyo: habka si toos ah loogu hubinayo koodka iyadoo la adeegsanayo falanqeeye taagan iyadoo la raacayo codsi kasta oo la isku daray laanta ugu weyn.

Kuwaas. sawirka bartilmaameedku waa sida soo socota: sida ugu dhakhsaha badan horumariyaha uploaded isbedel laanta feature, si toos ah u hubin khaladaadka cusub ee code bilaabmaa. Haddii aysan jirin khaladaad, markaa isbeddelada waa la oggol yahay in la aqbalo, haddii kale khaladaadka waa in la saxo. Horeba marxaladii hore, waxaan awoodnay inaan aqoonsanno tiro cayiman oo khaladaad ah oo ku jira koodka. Nidaamku wuxuu leeyahay goobo aad u jilicsan: waxaa loo habeyn karaa si uu ugu shaqeeyo hawlo gaar ah oo horumariyayaal ah, nidaam kasta iyo qaabka barnaamijka.

Ku habeynta QualityGate gudaha SonarQube

Falanqaynta QualityGate waa shay aan ku akhrino mindhicirka internetka. Markii hore, waxaan isticmaalnay hab ka duwan, ka adag oo, siyaabaha qaarkood, aan gebi ahaanba sax ahayn. Ugu horrayn, laba jeer ayaanu SonarQube ku socodsiinay iskaanka: waxaanu sawirnay laanta sifada iyo laantii aanu ku milmaynay laanta astaanta, ka dibna waxaanu is barbar dhignay tirada khaladaadka. Habkani ma ahayn mid deggan oo had iyo jeer ma bixin natiijada saxda ah. Kadibna waxaynu ogaanay in halkii aad SonarQube laba jeer ku shaqayn lahayd, aad xad u samayn karto tirada khaladaadka la sameeyay (QualityGate) oo aad falanqaynayso oo kaliya laanta aad soo geliso oo aad barbar dhigto.

Sida aan u hirgelinay SonarQube oo aan xaqiiqsanay awooddeeda weyn

Hadda, waxaan wali isticmaalnaa hubinta koodka hore. Waa in la ogaadaa in SonarQube aysan ku habboonayn luqadaha barnaamijyada qaarkood, oo ay ku jiraan Delphi. Waqtigan xaadirka ah, nidaamkayaga, waxaan u falanqeyneynaa kaliya PLSql code.

Waxay u shaqeysaa sidatan:

  • Waxaan u falanqeyneynaa kaliya PL/SQL code ee mashruucayaga.
  • QualityGate waxa lagu habeeyey SonarQube si aanay tirada khaladaadku u kordhin marka la galo.
  • Tirada khaladaadka ee orodkii ugu horeeyay waxay ahayd 229. Haddii ay jiraan khaladaad badan inta lagu jiro samaynta, markaa isku darka lama ogola.
  • Dheeraad ah, iyadoo la raacayo hagaajinta khaladaadka, waxay suurtogal noqon doontaa in dib loo habeeyo QualityGate.
  • Waxa kale oo aad ku dari kartaa walxo cusub si loo gorfeeyo, tusaale ahaan, daboolida koodhka imtixaanada, iwm.

Qorshaha shaqada:

Sida aan u hirgelinay SonarQube oo aan xaqiiqsanay awooddeeda weyn

Faallooyinka qoraalka, waxaad arki kartaa in tirada khaladaadka ee laanta muujintu aysan kor u qaadin. Markaa wax walba waa OK.

Sida aan u hirgelinay SonarQube oo aan xaqiiqsanay awooddeeda weyn

Badhanka Isku-dhafka ayaa diyaar noqon doona.

Sida aan u hirgelinay SonarQube oo aan xaqiiqsanay awooddeeda weyn

Faallooyinka qoraalka, waxaad arki kartaa in tirada khaladaadka ee laanta muuqaalku ay noqotay wax ka badan inta la oggol yahay. Markaa wax walba waa XUN.

Sida aan u hirgelinay SonarQube oo aan xaqiiqsanay awooddeeda weyn

Badhanka isku darka waa casaan Waqtigan xaadirka ah, ma jiraan wax mamnuuc ah oo lagu dhejiyo isbeddelada koodka khaldan, laakiin tan waxaa lagu sameeyaa go'aanka horumariyaha mas'uulka ah. Mustaqbalka, waxaad ka hortagi kartaa falalka noocaas ah in lagu sameeyo laanta ugu weyn.

Sida aan u hirgelinay SonarQube oo aan xaqiiqsanay awooddeeda weyn

Is-xakamaynta cayayaanka

Marka xigta, waxaad u baahan tahay inaad hubiso dhammaan khaladaadka lagu ogaado nidaamka, sababtoo ah SonarQube waxay falanqeysaa iyadoo loo eegayo heerarkeeda adag. Waxa uu u arko khalad waxa laga yaabaa inaanay ahayn mid ku jira xeerkeena. Sidaa darteed, waxaad u baahan tahay inaad hubiso oo aad ogaatid in tani runtii tahay qalad, ama haddii aan loo baahnayn in wax laga beddelo xaaladahayaga. Markaa, waxaan yareynaa tirada khaladaadka. Waqti ka dib, nidaamku wuxuu baran doonaa inuu fahmo nuucyadan.

Maxaan u nimid

Hadafkayagu wuxuu ahaa inaan fahanno inay ku habboon tahay kiiskeena inaan ku wareejinno kood xaqiijinta otomaatiga. Natiijaduna waxay ku noolaatay wixii laga filayey. SonarQube waxay noo ogolaataa inaan la shaqayno luqadaha aan u baahanahay, samayno falanqayn karti leh, oo waxay leedahay awood aan wax kaga baranno talooyinka horumariyaha. Guud ahaan, waxaan ku faraxsannahay waayo-aragnimadayada ugu horreysa ee SonarQube waxaanan qorsheyneynaa inaan sii horumarinno jihadan. Waxaan rajeyneynaa in mustaqbalka aan awoodi doono inaan badbaadino waqti badan iyo dadaal dheeraad ah oo ku saabsan dib u eegista code oo aan ka dhigno mid wanagsan anagoo baabi'inayna qodobka aadanaha. Waxaa laga yaabaa in geeddi-socodka aan ogaan doono cilladaha madal, ama, liddi ku ah, waxaan hubin doonaa mar kale in tani ay tahay wax qabow oo leh karti weyn.

Maqaalkan dulmarka, waxaan uga hadalnay aqoontayada SonarQube static analyzer. Haddii aad su'aalo qabto, fadlan ku qor faallooyinka Haddii aad xiisaynayso mawduucan, daabacaadda cusub waxaan ku sifeyn doonaa si faahfaahsan sida wax walba si sax ah loo dejiyo oo u qor koodka si loo sameeyo jeeg noocaas ah.

Qoraaga qoraalka: atanya

Source: www.habr.com

Add a comment