oletetaan skenaario: kun olen antanut koodin GitHub. Haluan seurata koodini laatua, tietää vikoja, haavoittuvuuksia, koodin hajuja jne. (staattinen koodianalyysi) minun koodi ennen kuin rakennan koodin automaattisesti Jenkins ja haluan tämän toiminnon suorittaa joka kerta toimitan koodia.
tässä skenaariossa jatkuva tarkastus ja koodin jatkuva integrointi. Noudatamme tässä skenaariossa parhaita käytäntöjä Github-Jenkins-SonarQube-integroinnin avulla.
virtaus : Heti kun Kehittäjä toimittaa koodin GitHubiin, Jenkins hakee / vetää koodin arkistosta ja suorittaa staattisen koodin analyysin kaikuluotaimen avulla ja lähettää analyysiraportin Sonarquben palvelimelle, niin se rakentaa automaattisesti projektikoodin.
edellytys :
- Jenkins on setup kanssa GitHub joitakin rakentaa laukaista (minun tapauksessani sen Poll SCM) jos tämä ei ole tehty noudata tätä opetusohjelma— https://medium.com/@amitvermaa93/jenkins-github-with-java-maven-project-c17cdba7062
- SonarQube on käynnissä ja sinulla on kaikuluotain järjestelmä. Jos ei noudata opetusohjelma- https://medium.com/@amitvermaa93/sonarqube-setup-windows-e6a6c01be025
Vaihe 1. Avaa SonarQube server-Siirry hallintoon > klikkaa tietoturvaa > käyttäjät > klikkaa tokeneita (kuva 1)> luo token jollakin nimellä > Kopioi token (kuva 2), Sitä käytetään Jenkinsissä kaikuluotaimen todentamiseen.
Vaihe 2. Setup SonarQube with Jenkins-Go to Manage Jenkins > Configure system > SonarQube server section > Add SonarQube > Name it, provide Server Url as http: / / < IP>:<port> > and authentication token kopioitu SonarQube Server > Apply and Save
Vaihe 3. Asenna SonarQube-liitännäinen jenkinsiin. Siirry kohtaan Hallitse Jenkins > Hallitse liitännäisiä > saatavilla > Etsi Kaikuluotainskanneri> Asenna.
Lataa kaikuluotain, jos sinulla ei ole https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Configure Sonar Scanner in Jenkins : Siirry Mange Jenkins > Global Tool Configuration > Scroll for SonarQube Scanner > Add sonar scanner > name it, un check if you already have sonar else it will automatically download for you and your sonar scanner setup will be done(in my case I already have) > provide path to sonar runner home kuten alla olevassa kuvassa
Vaihe 4. Luo työ – Uusi kohde > nimi ja valitse projektityyppi (minun tapauksessani valitsen Maven-projektin voit valita myös freestylen)
Vaihe 5. Aseta Git SCM-osioon ja käytä * * * * * kyselyä SCM: n Rakentamisosiossa. Lisää Rakentamisympäristö-osiossa Pre-buid-vaihe > valitse Suorita Kaikuluotainskanneri
Vaihe 6. Luo a .ominaisuudet tiedosto missä tahansa paikassa ja antaa polku tehtävän alla(olen luonut sen Jenkins workspace kansio). Tämä ominaisuustiedosto on projektikohtainen. Se sisältää tiettyjä kaikuluotaimen ominaisuuksia, kuten mikä kansio skannata, mikä kansio jättää skannauksessa, mikä on projektiavain ja paljon muuta voit nähdä sen https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
sisällä kaikuluotain-skanneri.ominaisuudet Kirjoita alle koodi –
kaikuluotain.projectKey = github-jenkins-kaikuluotain
kaikuluotain.lähde=./ src
pitääkseni asian yksinkertaisena olen käyttänyt vain kahta ominaisuutta(kuten yllä), kaikuluotainta.projectKey-ominaisuus luo SonarQube-palvelimeesi projektin, jolla on sama nimi, jos projektia ei ole muuten olemassa, se liittää siihen analyysin, kaikuluotaimen.sources määrittelee, mikä kansio skannataan. Voit antaa joko suhteellisen polun Jenkinsin työtilasta tai todellisen polun kansioon, jonka haluat skannata.
koska olen käyttänyt ./ src (use / for windows path ) tarkoittaa, että olen tällä hetkellä työssäni työtilassa eli C:\Users\Amit Verma\.Jenkins\workspace\Jenkins-GitHub-SonarQube sijainti ja täältä olen tarjota polku kansioon (src) Haluan skannata.
Vaihe 7. Rakenna työ. Onnistuneen rakentamisen jälkeen jos näet rakennuslokit se näyttää tiedostot ja kansion se on skannattu ja skannauksen jälkeen se on lähettänyt analyysiraportin SonarQube Server olet integroinut.
Vaihe 8. Napsauta job Dashboardista kaikuluotain-kuvaketta tai siirry Kaikuluotainpalvelimeen Napsauta projekteja (otsikossa) näet uuden projektin, jolla on sama projektiavain, jonka olet antanut kaikuluotain-skannerissa.ominaisuustiedosto. Nyt voit mennä projektisi sisälle ja analysoida raporttia