Wéi mir SonarQube ëmgesat hunn a säi grousse Potenzial realiséiert hunn

Wéi mir SonarQube ëmgesat hunn a säi grousse Potenzial realiséiert hunn

Mir wëllen eis Erfahrung mat der Ëmsetzung vun enger Plattform fir kontinuéierlech Analyse a Messung vun der Qualitéit vum SonarQube Code an déi existent Prozesser deelen fir den DPO System z'entwéckelen (en Zousaz zum Alameda Depositaire a Clearing Accounting System) vum National Settlement Depository.

National Settlement Depository (Moskau Exchange Group of Companies) ass eng vun de wichtegste Finanzinfrastrukturfirmen, déi Wäertpabeieren vu russeschen an auslänneschen Emittenten am Wäert vu méi wéi 50 Billioun Rubel späichert an notéiert. De wuessende Volumen vun Operatiounen, déi vum System duerchgefouert ginn, wéi och déi kontinuéierlech Erhéijung vun der Funktionalitéit, erfuerderen d'Erhalen vun der héijer Qualitéit vum Quellcode vun de Systemer. Ee vun den Tools fir dëst Zil z'erreechen ass de SonarQube statesche Analyser. An dësem Artikel beschreiwen mir déi erfollegräich Erfarung fir de SonarQube statesche Analysator nahtlos an déi existent Entwécklungsprozesser vun eisem Departement ëmzesetzen.

Kuerz iwwer d'Departement

Eis Kompetenz enthält déi folgend Moduler: Bezuelungen un NSD Clienten, elektronesch Dokumentmanagement (EDF), Veraarbechtung vun Handelsrepository Messagen (Aschreiwung vun Off-Exchange Transaktiounen), elektronesch Interaktiounskanäl tëscht Clienten an NSD, a vill méi. Am Allgemengen, eng grouss Layer vun Aarbecht op der technescher Säit vun Operatiounen. Mir schaffen op Basis vun Uwendungen. D'Applikatioune vun den Teller ginn vun Analysten veraarbecht: si sammelen Client Ufuerderunge a presentéieren eis hir Visioun wéi et an de Programm passt. Weider, de Standard Schema: Code Entwécklung - Testen - Test Operatioun - Liwwerung vum Code un de produktive Circuit un den direkten Client.

Firwat SonarQube?

Dëst ass déi éischt Erfahrung vun eisem Departement bei der Ëmsetzung vun enger Plattform fir Code Qualitéitskontroll - virdrun hu mir et manuell gemaach, nëmmen Code Iwwerpréiwung. Awer de wuessende Volumen vun der Aarbecht erfuerdert Automatisatioun vun dësem Prozess. Zousätzlech ginn et och onerfueren Mataarbechter am Team, déi net ganz mat internen Entwécklungsreglementer vertraut sinn an éischter méi Feeler maachen. Fir d'Qualitéit vum Code ze kontrolléieren, gouf decidéiert e statesche Analysator ëmzesetzen. Well SonarQube scho a verschiddenen NSD Systemer benotzt gouf, huet et net laang gedauert fir ze wielen. Virdrun hunn d'Kollegen aus aneren Divisiounen et benotzt fir de Code vu Mikroservicer am Alameda System (NSD's eegenen Depot- a Clearing Accounting System) an der CFT (Informatiounssystem fir Comptabilitéit, Gläichgewiicht, Virbereedung vun obligatoresche an internen Berichterstattung), an e puer aneren ze analyséieren. Systemer. Fir Experimentéiere hu mir beschloss mat der gratis Versioun vu SonarQube unzefänken. Also loosst eis op eise Fall weidergoen.

Ëmsetzung Prozess

Mir hunn:

  • automatesch Assemblée vum System an TeamCity;
  • de Prozess vum Eroplueden vum Code iwwer MergeRequest vun enger Feature-Branche op d'Master-Branche am GitLab opsetzen (Entwécklungsprozess no GitHub Flow);
  • SonarQube konfiguréiert fir de Code fir den DPO System am Zäitplang ze analyséieren.

Eist Zil: Ëmsetzen automatesch Code Analyse an CI / CD Prozesser vun AVE.

Brauchen ze personaliséieren: de Prozess fir automatesch de Code vun engem statesche Analysator mat all MergeRequest an d'Haaptzweig ze kontrolléieren.

Déi. d'Zilbild ass wéi follegt: soubal den Entwéckler Ännerunge fir d'Funktiounszweig eropluet, fänkt en automatesche Scheck fir nei Feeler am Code un. Wann et keng Feeler sinn, da sinn d'Ännerungen erlaabt ze akzeptéieren, soss mussen d'Feeler korrigéiert ginn. Schonn an der éischter Etapp konnte mir eng gewëssen Unzuel vu Feeler am Code identifizéieren. De System huet ganz flexibel Astellungen: et kann esou konfiguréiert ginn datt et fir spezifesch Aufgaben vun Entwéckler funktionnéiert, fir all System a Programméierungsstil.

QualityGate an SonarQube konfiguréieren

D'QualityGate Analyse ass eng Saach déi mir am Darm vum Internet liesen. Am Ufank hu mir eng aner Approche benotzt, méi komplex an op e puer Weeër net ganz korrekt. Als éischt hu mir de Scan duerch SonarQube zweemol gemaach: mir hunn d'Feature-Branche gescannt an d'Branche wou mir d'Feature-Branche fusionéiere géifen, an dann hu mir d'Zuel vu Feeler verglach. Dës Method war net stabil an huet net ëmmer dat richtegt Resultat ginn. An dunn hu mir geléiert datt amplaz SonarQube zweemol ze lafen, Dir kënnt eng Limit op d'Zuel vu Feeler setzen (QualityGate) an analyséiert nëmmen d'Branche déi Dir eropluet a vergläicht.

Wéi mir SonarQube ëmgesat hunn a säi grousse Potenzial realiséiert hunn

Fir de Moment benotze mir nach ëmmer eng zimlech primitiv Codecheck. Et sollt bemierkt datt SonarQube net mat e puer Programméierungssproochen kompatibel ass, dorënner Delphi. Am Moment, fir eise System, analyséiere mir nëmmen PLSql Code.

Et funktionnéiert esou:

  • Mir analyséieren nëmmen PL / SQL Code fir eise Projet.
  • QualityGate ass a SonarQube konfiguréiert sou datt d'Zuel vu Feeler net eropgeet mat der Verpflichtung.
  • D'Zuel vun de Feeler um éischte Laf war 229. Wann et méi Feeler während der commit, dann Fusioun ass net erlaabt.
  • Weider, ënnerleien der Korrektur vu Feeler, ass et méiglech QualityGate nei ze konfiguréieren.
  • Dir kënnt och nei Elementer fir Analyse addéieren, zum Beispill Codedeckung mat Tester, etc.

Schema vun der Aarbecht:

Wéi mir SonarQube ëmgesat hunn a säi grousse Potenzial realiséiert hunn

An de Kommentare vum Skript kënnt Dir gesinn datt d'Zuel vu Feeler an der Feature-Branche net eropgaang ass. Also alles ass OK.

Wéi mir SonarQube ëmgesat hunn a säi grousse Potenzial realiséiert hunn

De Merge Knäppchen gëtt verfügbar.

Wéi mir SonarQube ëmgesat hunn a säi grousse Potenzial realiséiert hunn

An de Kommentare vum Skript kënnt Dir gesinn datt d'Zuel vu Feeler an der Feature-Branche méi wéi erlaabt ass. Also alles ass SCHLECHT.

Wéi mir SonarQube ëmgesat hunn a säi grousse Potenzial realiséiert hunn

De Merge Knäppchen ass rout. Am Moment gëtt et kee Verbuet fir Ännerunge fir falsche Code eropzelueden, awer dëst gëtt nom Diskretioun vum verantwortlechen Entwéckler gemaach. An Zukunft kënnt Dir verhënneren datt esou Engagementer an d'Haaptzweig gemaach ginn.

Wéi mir SonarQube ëmgesat hunn a säi grousse Potenzial realiséiert hunn

Selbstbehandlung mat Bugs

Als nächst musst Dir all d'Fehler kontrolléieren, déi vum System festgestallt ginn, well SonarQube analyséiert no senge strenge Standarden. Wat hien als e Feeler betruecht ass vläicht net wierklech een an eisem Code. Dofir musst Dir kucken a feststellen ob dëst wierklech e Feeler ass oder ob et net néideg ass an eise Konditiounen z'änneren. Sou reduzéieren mir d'Zuel vun de Feeler. Mat der Zäit wäert de System léieren dës Nuancen ze verstoen.

Wat sinn mir komm

Eist Zil war ze verstoen ob et an eisem Fall gëeegent ass fir d'Codeverifizéierung op d'Automatisatioun ze transferéieren. An d'Resultat huet un d'Erwaardungen gerett. SonarQube erlaabt eis mat de Sproochen ze schaffen déi mir brauchen, mécht zimlech kompetent Analyse, an huet d'Potenzial fir vun Entwéckler Tipps ze léieren. Am Allgemengen si mir frou mat eiser éischter Erfahrung mat SonarQube a plangen eis weider an dës Richtung ze entwéckelen. Mir erwaarden datt mir an Zukunft fäeg sinn méi Zäit an Effort op Code review ze spueren an et besser ze maachen andeems de mënschleche Faktor eliminéiert gëtt. Vläicht wäerte mir am Prozess d'Defiziter vun der Plattform entdecken, oder am Géigendeel, mir suergen nach eng Kéier datt dëst eng cool Saach mat groussem Potenzial ass.

An dësem Iwwerbléck Artikel hu mir iwwer eis Bekanntschaft mam SonarQube statesche Analyser geschwat. Wann Dir Froen hutt, schreift w.e.g. an de Kommentarer. Wann Dir un dësem Thema interesséiert sidd, wäerte mir an der neier Verëffentlechung méi detailléiert beschreiwen wéi Dir alles richteg ageriicht a Code schreift fir sou e Scheck ze maachen.

Auteur: atanya

Source: will.com

Setzt e Commentaire