Bii a ṣe ṣe imuse SonarQube ati rii agbara nla rẹ

Bii a ṣe ṣe imuse SonarQube ati rii agbara nla rẹ

A fẹ lati pin iriri wa ti imuse Syeed SonarQube fun itupalẹ ilọsiwaju ati wiwọn didara koodu sinu awọn ilana idagbasoke ti o wa tẹlẹ ti eto DPO (afikun si idogo idogo Alameda ati eto ṣiṣe iṣiro) ti Ile-ipamọ Ipinnu ti Orilẹ-ede.

Ile-ipamọ Ipinlẹ ti Orilẹ-ede (ẹgbẹ Moscow Exchange ti awọn ile-iṣẹ) jẹ ọkan ninu awọn ile-iṣẹ pataki ni awọn amayederun owo, titoju ati ṣiṣe iṣiro fun awọn sikioriti ti awọn olufunni Russia ati ajeji tọ diẹ sii ju 50 aimọye rubles. Iwọn ti ndagba ti awọn iṣẹ ṣiṣe nipasẹ eto naa, ati imudara ilọsiwaju ti iṣẹ ṣiṣe, nilo mimu koodu orisun didara ti awọn ọna ṣiṣe. Ọpa kan lati ṣaṣeyọri ibi-afẹde yii ni oluyanju aimi SonarQube. Ninu nkan yii a yoo ṣapejuwe iriri aṣeyọri ti imuse lainidi imuse atuntuka SonarQube sinu awọn ilana idagbasoke ti o wa tẹlẹ ti ẹka wa.

Ni ṣoki nipa ẹka naa

Agbara wa pẹlu awọn modulu wọnyi: awọn sisanwo si awọn alabara NSD, iṣakoso iwe aṣẹ itanna (EDF), sisẹ awọn ifiranṣẹ ibi ipamọ iṣowo (iforukọsilẹ ti awọn iṣowo lori-counter), awọn ikanni ti ibaraenisepo itanna laarin awọn alabara ati NSD, ati pupọ diẹ sii. Ni gbogbogbo, ọpọlọpọ awọn iṣẹ wa lati ṣe ni ẹgbẹ imọ-ẹrọ ti awọn iṣẹ ṣiṣe. A ṣiṣẹ lori ipilẹ awọn ibeere. Awọn ohun elo lati ọdọ awọn alaṣẹ iṣiṣẹ ni ilọsiwaju nipasẹ awọn atunnkanka: wọn gba awọn ibeere alabara ati ṣafihan wa pẹlu iran wọn ti bii o ṣe yẹ ki o baamu si eto naa. Nigbamii ni ero boṣewa: idagbasoke koodu - idanwo - iṣẹ idanwo - ifijiṣẹ koodu si Circuit iṣelọpọ si alabara taara.

Kini idi ti SonarQube?

Eyi ni iriri akọkọ ti ẹka wa ni imuse pẹpẹ kan fun iṣakoso didara koodu - ni iṣaaju a ṣe pẹlu ọwọ, ṣiṣe awọn atunwo koodu nikan. Ṣugbọn iwọn didun iṣẹ ṣiṣe nilo adaṣe ti ilana yii. Ni afikun, ẹgbẹ naa tun pẹlu awọn oṣiṣẹ ti ko ni iriri ti ko mọ patapata pẹlu awọn ilana idagbasoke inu ati ṣọ lati ṣe awọn aṣiṣe diẹ sii. Lati ṣakoso didara koodu naa, o pinnu lati ṣe imuse itupalẹ aimi kan. Niwọn bi a ti lo SonarQube tẹlẹ ni diẹ ninu awọn eto NSD, ko gba akoko pupọ lati yan. Ni iṣaaju, awọn ẹlẹgbẹ lati awọn apa miiran lo lati ṣe itupalẹ koodu awọn iṣẹ microservices ninu eto Alameda (NSD ile-ipamọ ti ara rẹ ati eto ṣiṣe iṣiro), ni CFT (eto alaye kan fun mimu ṣiṣe iṣiro, awọn iwe iwọntunwọnsi, ngbaradi dandan ati ijabọ inu), ni diẹ ninu awọn miiran awọn ọna šiše. Fun awọn idanwo, a pinnu lati bẹrẹ pẹlu ẹya ọfẹ ti SonarQube. Nitorinaa jẹ ki a tẹsiwaju si ọran wa.

Ilana imuse

A ni:

  • adapo eto eto ni TeamCity;
  • ilana ti koodu ikojọpọ nipasẹ MergeRequest lati ẹka ẹya si ẹka titunto si ni GitLab ti tunto (ilana idagbasoke ni ibamu si GitHub Flow);
  • SonarQube, tunto lati ṣe itupalẹ koodu fun eto DPO lori iṣeto kan.

Ibi-afẹde wa: ṣe itupalẹ koodu aifọwọyi ni awọn ilana CI / CD ti DPO.

Nilo lati tunto: ilana ti ṣayẹwo koodu laifọwọyi pẹlu olutupalẹ aimi pẹlu Ibeere Merge kọọkan si ẹka akọkọ.

Awon. Aworan ibi-afẹde jẹ atẹle yii: ni kete ti olupilẹṣẹ gbejade awọn ayipada si ẹka ẹya, ṣayẹwo laifọwọyi fun awọn aṣiṣe tuntun ninu koodu naa ti ṣe ifilọlẹ. Ti ko ba si awọn aṣiṣe, lẹhinna awọn ayipada gba laaye lati gba, bibẹẹkọ awọn aṣiṣe yoo ni lati ṣe atunṣe. Tẹlẹ ni ipele ibẹrẹ a ni anfani lati ṣe idanimọ nọmba kan ti awọn aṣiṣe ninu koodu naa. Eto naa ni awọn eto irọrun pupọ: o le tunto ni iru ọna ti o ṣiṣẹ fun awọn iṣẹ ṣiṣe kan pato ti awọn olupilẹṣẹ, fun eto kọọkan ati ara siseto.

Ṣiṣeto QualityGate ni SonarQube

Itupalẹ QualityGate jẹ nkan ti a ka ninu awọn ijinle Intanẹẹti. Ni ibẹrẹ, a lo ọna ti o yatọ, ti o ni idiju ati, ni awọn ọna kan, ko ṣe deede patapata. Ni akọkọ, a ṣe ọlọjẹ naa lẹẹmeji nipasẹ SonarQube: a ṣayẹwo ẹka ẹya ati ẹka nibiti a yoo dapọ ẹka ẹya naa, lẹhinna ṣe afiwe nọmba awọn aṣiṣe. Ọna yii ko ni iduroṣinṣin ati pe ko nigbagbogbo gbejade abajade to tọ. Ati lẹhinna a rii pe dipo ṣiṣe SonarQube lẹẹmeji, a le ṣeto opin lori nọmba awọn aṣiṣe ti a ṣe (QualityGate) ati ṣe itupalẹ ẹka nikan ti o gbejade ati ṣe afiwe.

Bii a ṣe ṣe imuse SonarQube ati rii agbara nla rẹ

Fun bayi a tun nlo atunyẹwo koodu alakoko kuku. O tọ lati ṣe akiyesi pe SonarQube ko ni ibamu pẹlu diẹ ninu awọn ede siseto, pẹlu Delphi. Ni akoko yii, a ṣe itupalẹ koodu PLSql nikan fun eto wa.

O ṣiṣẹ bi eleyi:

  • A ṣe itupalẹ koodu PL/SQL nikan fun iṣẹ akanṣe wa.
  • SonarQube ti tunto QualityGate ki nọmba awọn aṣiṣe ko ni pọ si pẹlu ifaramọ kan.
  • Nọmba awọn aṣiṣe ni ifilọlẹ akọkọ jẹ 229. Ti awọn aṣiṣe ba wa lakoko ṣiṣe, lẹhinna ko gba laaye lati dapọ.
  • Siwaju sii, ti awọn aṣiṣe ba jẹ atunṣe, yoo ṣee ṣe lati tunto QualityGate.
  • O tun le ṣafikun awọn aaye tuntun fun itupalẹ, fun apẹẹrẹ, agbegbe koodu pẹlu awọn idanwo, ati bẹbẹ lọ.

Ilana iṣẹ:

Bii a ṣe ṣe imuse SonarQube ati rii agbara nla rẹ

Awọn asọye ti iwe afọwọkọ fihan pe nọmba awọn aṣiṣe ninu ẹka ẹya ko ti pọ si. Nitorina ohun gbogbo dara.

Bii a ṣe ṣe imuse SonarQube ati rii agbara nla rẹ

Bọtini Ijọpọ di wa.

Bii a ṣe ṣe imuse SonarQube ati rii agbara nla rẹ

Ninu awọn asọye ti iwe afọwọkọ, o le rii pe nọmba awọn aṣiṣe ninu ẹka ẹya ti di diẹ sii ju itẹwọgba lọ. Beena gbogbo nkan lo buru.

Bii a ṣe ṣe imuse SonarQube ati rii agbara nla rẹ

Bọtini Ijọpọ jẹ pupa. Ni akoko, ko si idinamọ lori ikojọpọ awọn ayipada ti o da lori koodu aṣiṣe, ṣugbọn eyi ni a ṣe ni lakaye ti olupilẹṣẹ lodidi. Ni ọjọ iwaju, o le ṣe idiwọ iru awọn iṣe bẹ lati ṣafikun si ẹka akọkọ.

Bii a ṣe ṣe imuse SonarQube ati rii agbara nla rẹ

Iṣẹ ominira lori awọn aṣiṣe

Nigbamii, o nilo lati ṣayẹwo gbogbo awọn aṣiṣe ti a rii nipasẹ eto, nitori SonarQube ṣe itupalẹ ni ibamu si awọn iṣedede to muna. Ohun ti o ka aṣiṣe le ma jẹ ọkan ninu koodu wa. Nitorinaa, o nilo lati ṣayẹwo ati ṣe akiyesi boya eyi jẹ aṣiṣe gaan, tabi boya ko si iwulo lati ṣatunkọ ni awọn ipo wa. Ni ọna yii a dinku nọmba awọn aṣiṣe. Ni akoko pupọ, eto naa yoo kọ ẹkọ lati loye awọn nuances wọnyi.

Kini a ti de

Ibi-afẹde wa ni lati loye boya yoo jẹ imọran ninu ọran wa lati gbe atunyẹwo koodu si adaṣe. Ati abajade gbe soke si awọn ireti. SonarQube gba wa laaye lati ṣiṣẹ pẹlu awọn ede ti a nilo, ṣe itupalẹ ti o peye, ati pe o ni agbara lati kọ ẹkọ lati awọn imọran idagbasoke. Iwoye, a ni inudidun pẹlu iriri akọkọ wa nipa lilo SonarQube ati gbero lati ni idagbasoke siwaju sii ni itọsọna yii. A nireti pe ni ọjọ iwaju a yoo ni anfani lati ṣafipamọ akoko diẹ sii ati igbiyanju lori atunyẹwo koodu ati jẹ ki o dara julọ nipa imukuro ifosiwewe eniyan. Boya ninu ilana a yoo ṣawari awọn ailagbara ti Syeed tabi, ni idakeji, a yoo ni idaniloju lekan si pe eyi jẹ ohun tutu pẹlu agbara nla.

Ninu nkan atunyẹwo yii a sọrọ nipa ibatan wa pẹlu oluyanju aimi SonarQube. Ti o ba ni awọn ibeere, jọwọ kọ sinu awọn asọye. Ti o ba nifẹ si koko yii, ninu atẹjade tuntun a yoo ṣe apejuwe ni awọn alaye diẹ sii bi o ṣe le ṣeto ohun gbogbo ni deede ati kọ koodu lati ṣe iru ayẹwo kan.

Onkọwe ọrọ: atanya

orisun: www.habr.com

Fi ọrọìwòye kun