Předpokládejme scénář: poté, co jsem zavázal kód Githubu. Chci sledovat kvalitu kódu, znát chyby, zranitelnosti, vůně kódu atd. (statická analýza kódu) pro můj kód před tím, než automaticky sestavím svůj kód s Jenkins a chci, aby tato aktivita byla prováděna pokaždé, když odevzdám kód.
v tomto scénáři pro kontinuální kontrolu a kontinuální integraci kódu. Budeme se řídit osvědčenými postupy pomocí integrace GitHub-Jenkins-SonarQube pro tento scénář.
průtok : Jakmile vývojář zavazuje kód GitHub, Jenkins načte / vytáhne kód z úložiště a provede statickou analýzu kódu pomocí Sonar skeneru a odešle zprávu o analýze na server SonarQube, poté automaticky vytvoří kód projektu.
předpoklad :
- Jenkins je nastaven pomocí Githubu s nějakým spouštěčem sestavení (v mém případě jeho průzkum SCM), pokud se tak nestane, postupujte podle tohoto tutoriálu— https://medium.com/@amitvermaa93/jenkins-github-with-java-maven-project-c17cdba7062
- SonarQube běží a máte Sonar Scanner nastavení v systému. Pokud ne, postupujte podle návodu- https://medium.com/@amitvermaa93/sonarqube-setup-windows-e6a6c01be025
Krok 1. Otevřete SonarQube server-přejděte na administraci > klikněte na zabezpečení > Uživatelé > klikněte na tokeny (obrázek 1)> generovat token s nějakým názvem > zkopírujte token (obrázek 2), bude použit v Jenkins pro ověření sonaru.
Krok 2. Setup SonarQube with Jenkins-jít na správu Jenkins > Configure system > SonarQube server section > přidat SonarQube > pojmenujte jej, uveďte adresu Url serveru jako http: / / < IP>:< port> > a autentizační token zkopírovaný ze serveru SonarQube > Použít a uložit
Krok 3. Nainstalujte SonarQube plugin do Jenkins. Přejít na Spravovat Jenkins > spravovat pluginy > dostupné > hledat SonarQube Scanner> instalovat.
Stáhněte si SonarScanner, pokud nemáte https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
nakonfigurujte Sonar Scanner v Jenkins : Přejděte na Mange Jenkins > Globální konfigurace nástroje > přejděte na SonarQube Scanner > přidejte sonar scanner > pojmenujte to, zrušte zaškrtnutí, pokud již máte sonar else, automaticky se stáhne za vás a vaše nastavení sonar scanner bude provedeno (v mém případě už mám) > poskytněte cestu k sonar runner home jako na obrázku níže
Krok 4. Vytvořit Job-Nová položka > název a vyberte typ projektu (v mém případě volím Maven project můžete zvolit i freestyle)
Krok 5. Nastavte Git v sekci SCM a použijte * * * * * pro hlasování SCM v sekci Build Trigger. V části Build Environment přidejte krok pre-buid > vyberte Spustit SonarQube Scanner
Krok 6. Vytvořit .vlastnosti souboru na libovolném místě a poskytují cestu k úkolu, jak je uvedeno níže (vytvořil jsem ji ve složce Jenkins workspace). Tento soubor vlastností bude specifický pro projekt. Obsahuje určité vlastnosti sonaru, jako je složka, kterou chcete skenovat, kterou složku vyloučit při skenování, jaký je klíč projektu a mnoho dalších, ze kterých ji můžete vidět https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
uvnitř sonar-scanner.vlastnosti Napište níže kód –
sonar.projectKey=github-Jenkins-sonar
sonar.zdroj=./ src
aby to bylo jednoduché, použil jsem pouze dvě vlastnosti (jak je uvedeno výše), sonar.vlastnost projectKey vytvoří projekt uvnitř vašeho serveru SonarQube se stejným názvem, Pokud projekt neexistuje, jinak k němu připojí analýzu, sonar.zdroje definuje složku, kterou chcete skenovat. Můžete zadat buď relativní cestu z pracovního prostoru Jenkins Job, nebo skutečnou cestu ke složce, kterou chcete skenovat.
protože jsem použil ./src (use / for Windows path) to znamená, že jsem v současné době na pracovním pracovním prostoru, tj. C:\Users\Amit Verma\.Jenkins\workspace \ Jenkins-GitHub-SonarQube umístění a odtud jsem poskytuje cestu ke složce(src) chci skenovat.
Krok 7. Vybudovat práci. Po úspěšném sestavení, pokud vidíte protokoly sestavení, vám ukáže soubory a složku, kterou naskenoval, a po skenování zveřejnil zprávu o analýze na server SonarQube, který jste integrovali.
Krok 8. Z panelu úloh klikněte na ikonu sonaru nebo přejděte na Sonar server klikněte na projekty (na záhlaví) uvidíte nový projekt se stejným klíčem projektu, který jste zadali v sonar-skeneru.soubor vlastností. Nyní můžete jít dovnitř svého projektu a analyzovat zprávu