Vydání PVS-Studio 7.04 se časově shodovalo s vydáním pluginu Warnings Next Generation 6.0.0 pro Jenkinse. Právě v této verzi přidal plugin Warnings NG podporu pro statický analyzátor PVS-Studio. Tento plugin vizualizuje varovná data z kompilátoru nebo jiných analytických nástrojů v Jenkins. Tento článek podrobně popisuje, jak nainstalovat a nakonfigurovat tento plugin pro použití s PVS-Studio, a také popisuje většinu jeho schopností.
Instalace pluginu Warning Next Generation v Jenkins
Ve výchozím nastavení se Jenkins nachází na adrese
Dále vyberte položku „Spravovat pluginy“, otevřete kartu „Dostupné“:
V pravém horním rohu do pole filtru zadejte „Varování nové generace“:
Najděte plugin v seznamu, zaškrtněte políčko vlevo a klikněte na „Instalovat bez restartu“:
Otevře se stránka instalace pluginu. Zde uvidíme výsledky instalace pluginu:
Vytvoření nového úkolu v Jenkins
Nyní vytvoříme úlohu s volnou konfigurací. Na hlavní stránce Jenkins vyberte „Nová položka“. Zadejte název projektu (například WTM) a vyberte položku „Projekt Freestyle“.
Klikněte na „OK“, poté se otevře stránka nastavení úlohy. V dolní části této stránky v položce „Akce po sestavení“ otevřete seznam „Přidat akci po sestavení“. V seznamu vyberte „Zaznamenat varování kompilátoru a výsledky statické analýzy“:
V rozevíracím seznamu v poli „Nástroj“ vyberte „PVS-Studio“ a poté klikněte na tlačítko Uložit. Na stránce úkolu klikněte na „Vytvořit nyní“ a vytvořte složku v pracovním prostoru v Jenkins pro náš úkol:
Získání výsledků sestavení projektu
Dnes jsem v Github trends narazil na projekt dotnetcore/WTM. Stáhl jsem to z Github, vložil do adresáře sestavení WTM v Jenkins a analyzoval ve Visual Studiu pomocí analyzátoru PVS-Studio. Podrobný popis použití PVS-Studio ve Visual Studiu je uveden ve stejnojmenném článku:
Několikrát jsem spustil sestavení projektu v Jenkins. V důsledku toho se v pravém horním rohu stránky úkolu WTM v Jenkins objevil graf a vlevo se objevila položka nabídky Upozornění PVS-Studio:
Když kliknete na graf nebo tuto položku nabídky, otevře se stránka s vizualizací zprávy analyzátoru PVS-Studio pomocí pluginu Warnings Next Generation:
Stránka s výsledky
V horní části stránky jsou dva koláčové grafy. Napravo od grafů je okno grafu. Níže je tabulka.
Levý koláčový graf ukazuje poměr varování různé úrovně závažnosti, pravý ukazuje poměr nových, neopravených a opravených varování. Existují tři grafy. Zobrazený graf se vybírá pomocí šipek vlevo a vpravo. První dva grafy zobrazují stejné informace jako grafy a třetí ukazuje změnu v počtu výstrah.
Jako body grafu můžete vybrat sestavy nebo dny.
Je také možné zúžit a rozšířit časový rozsah grafu a zobrazit data za určité období:
Grafy určitých metrik můžete skrýt kliknutím na označení metriky v legendě grafu:
Graf po skrytí metriky „Normální“:
Níže je tabulka zobrazující data zprávy analyzátoru. Když kliknete na sektor výsečového grafu, tabulka se vyfiltruje:
Tabulka má několik záložek pro filtrování dat. V tomto příkladu je k dispozici filtrování podle jmenného prostoru, souboru, kategorie (název výstrahy). V tabulce si můžete vybrat, kolik varování se má zobrazit na jedné stránce (10, 25, 50, 100):
Data je možné filtrovat podle řetězce zadaného do pole „Hledat“. Příklad filtrování podle slova „Základ“:
Na záložce „Problémy“ se po kliknutí na znaménko plus na začátku řádku tabulky zobrazí stručný popis upozornění:
Stručný popis obsahuje odkaz na webovou stránku s podrobnými informacemi o tomto varování.
Když kliknete na hodnoty ve sloupcích „Balík“, „Kategorie“, „Typ“, „Závažnost“, data tabulky se filtrují podle vybrané hodnoty. Filtrovat podle kategorie:
Sloupec "Věk" zobrazuje, kolik sestav přežilo toto varování. Kliknutím na hodnotu ve sloupci Věk se otevře stránka sestavení, kde se toto varování poprvé objevilo.
Kliknutím na hodnotu ve sloupci "Soubor" se otevře zdrojový kód souboru na řádku s kódem, který způsobil varování. Pokud soubor není v adresáři sestavení nebo byl přesunut po vytvoření sestavy, nebude možné otevřít zdrojový kód souboru.
Závěr
Warnings Next Generation se v Jenkins ukázal jako velmi užitečný nástroj pro vizualizaci dat. Doufáme, že podpora pro PVS-Studio tímto pluginem výrazně pomůže těm, kteří již PVS-Studio používají, a také přitáhne pozornost ostatních uživatelů Jenkins ke statické analýze. A pokud vaše volba padne na PVS-Studio jako statický analyzátor, budeme velmi rádi. Zveme vás
Pokud chcete tento článek sdílet s anglicky mluvícím publikem, použijte prosím odkaz na překlad: Valery Komarov.
Zdroj: www.habr.com