Skip to content

SonarQube integráció

odmehb edited this page May 17, 2017 · 7 revisions

A célom az, hogy Continous Code Quality as a Service-ként fusson, tehát ne kelljen letöltenem a SonatQubeot és on-premise alkalmazásként futtatnom.

Először authorizáltam magam a SonarCube.com-on a github felhasználói fiókom segítségével. Ezt követően létre kellett hoznom egy Token-t, amit majd a CI build konfigurációjában megadok.

A következő screen shoton a token biztonsági okokból nem látszik:

Elölnézet

Megtudhattam továbbá az Organizations fülön, hogy megfelelően sikerült az összeköttetés a GitHub és a SonarQube közt, hiszen látszik az organization, ami a githubon létrejött:

Elölnézet

Elöször titkositanom kellett a tokent biztonsági okokból. Ehez a travis egy Ruby programot adott ki, szóval szükségem volt a ruby-ra hogy a gem-mel telepithessem a travis-t. Mivel Windows gépen dolgozom, innen tudtam leszedni a ruby-t: http://rubyinstaller.org/downloads/

Miután sikeresen telepitettem, a gem-et felhasználva telepitettem a travis-t:

Elölnézet

Ezt követően a _travis encrypt SOMEVAR=”secret” –add _ paranccsal hozzáadtam a .yml file-hoz a megfelelő secretet. Az organization-t kimásoltam a SonarQube megfelelő oldaláról(fentebb irtam már róla), majd elkészitettem a végleges travis.yml file-t:

Elölnézet

SonarQube On-premise integráció Ahoz hogy On-premise tudjuk futtatni a SonarQube-ot, szükség volt egy SonarQube service-re ami fut a gépen. Ez kipublikálja alapértelmezetten a localhost:9000 cimre a sonarQube UI-át. Emellett interface-t biztosit az analyzereknek, hogy publikálhassák a kódról szerzett tudást.

Miután elkészitettem a service-t kellett egy C# analyzer, amit feltelepitettem a gépre. Már csak pár konfigurációs lépésre volt szükség, amit egy előre elkészitett file-ba kellett kitölteni.

Ez a sonar-project.properties file, és a következő értékeket állitottam be rajta: sonar.projectKey=my:UnitySteer sonar.projectName=Unity Steer sonar.projectVersion=1.0 sonar.sources=.

Mivel a sources a . elérési útra mutat, ezért a project gyökerébe helyeztem el a file-t.

Igy, hogy a környezet készen áll, már csak 3 parancsot kell kiadni, és elkészül az analizis. Elöször el kell inditani az analyzert:

SonarQube.Scanner.MSBuild.exe begin

Majd a buildet MSBuild.exe /t:Rebuild

És végül leállitjuk a sonar scannert: SonarQube.Scanner.MSBuild.exe end Elölnézet