Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke
Kev tso tawm ntawm PVS-Studio 7.04 coincided nrog kev tso tawm ntawm Cov Lus Ceeb Toom Next Generation 6.0.0 plugin rau Jenkins. Tsuas yog hauv qhov kev tso tawm no, Warnings NG Plugin ntxiv kev txhawb nqa rau PVS-Studio static analyzer. Cov plugin no pom cov ntaub ntawv ceeb toom los ntawm lub compiler lossis lwm yam cuab yeej tshuaj ntsuam hauv Jenkins. Kab lus no yuav piav qhia meej txog yuav ua li cas rau nruab thiab teeb tsa lub plugin no siv nrog PVS-Studio, thiab piav qhia txog feem ntau ntawm nws cov peev xwm.

Txhim kho Ceeb Toom Tom Ntej Plugin hauv Jenkins

Los ntawm lub neej ntawd Jenkins nyob ntawm http://localhost:8080. Ntawm nplooj ntawv tseem ceeb Jenkins, nyob rau sab saum toj sab laug, xaiv "Manage Jenkins":

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Tom ntej no, xaiv cov khoom "Manage Plugins", qhib lub "Available" tab:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Nyob rau sab xis saum toj kawg nkaus hauv lub lim teb, nkag mus rau "Ceeb Toom Next Generation":

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Nrhiav lub plugin hauv daim ntawv teev npe, kos lub thawv ntawm sab laug thiab nyem "Nruab tsis rov pib dua":

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Nplooj ntawv installation plugin yuav qhib. Ntawm no peb yuav pom cov txiaj ntsig ntawm kev txhim kho lub plugin:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Tsim ib txoj haujlwm tshiab hauv Jenkins

Tam sim no cia peb tsim ib txoj haujlwm nrog kev teeb tsa dawb. Ntawm nplooj ntawv tseem ceeb Jenkins, xaiv "Tshiab yam khoom". Sau lub npe ntawm qhov project (piv txwv li, WTM) thiab xaiv cov khoom "Freestyle project".

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Nyem "OK", tom qab ntawd nplooj ntawv teeb tsa haujlwm yuav qhib. Hauv qab ntawm nplooj ntawv no, hauv cov khoom "Post-build Actions", qhib cov npe "Add post-build action" list. Hauv daim ntawv teev npe, xaiv "Sau ntawv ceeb toom compiler thiab kev soj ntsuam zoo li qub":

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Hauv daim ntawv teev npe nco-down ntawm "Tool" teb, xaiv "PVS-Studio", tom qab ntawd nyem lub pob txuag. Ntawm nplooj ntawv ua haujlwm, nyem "Tsim Tam Sim No" los tsim ib daim nplaub tshev hauv chaw ua haujlwm hauv Jenkins rau peb txoj haujlwm:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Tau txais qhov project tsim cov txiaj ntsig

Hnub no kuv tuaj hla dotnetcore/WTM project hauv Github tiam sis. Kuv rub nws los ntawm Github, muab tso rau hauv WTM tsim cov npe hauv Jenkins thiab txheeb xyuas nws hauv Visual Studio siv PVS-Studio analyzer. Cov lus piav qhia ntxaws txog kev siv PVS-Studio hauv Visual Studio tau nthuav tawm hauv kab lus ntawm tib lub npe: PVS-Studio rau Visual Studio.

Kuv tau khiav qhov project tsim hauv Jenkins ob peb zaug. Raws li qhov tshwm sim, ib daim duab tau tshwm sim nyob rau sab xis ntawm nplooj ntawv WTM ua haujlwm hauv Jenkins, thiab cov ntawv qhia zaub mov tshwm rau sab laug PVS-Studio Warnings:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Thaum koj nyem rau ntawm daim ntawv lossis cov ntawv qhia zaub mov no, ib nplooj ntawv qhib nrog kev pom ntawm PVS-Studio analyzer qhia siv Cov Lus Ceeb Toom Tom Ntej Plugin:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Nplooj ntawv

Muaj ob daim ntawv ncuav qab zib nyob rau sab saum toj ntawm nplooj ntawv. Nyob rau sab xis ntawm cov kab kos yog lub qhov rais graph. Hauv qab no yog ib lub rooj.

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Daim ntawv qhia ncuav qab zib sab laug qhia txog qhov piv ntawm cov lus ceeb toom ntawm qhov sib txawv ntawm qhov hnyav, txoj cai qhia qhov piv ntawm cov lus ceeb toom tshiab, tsis raug kho thiab kho. Muaj peb daim duab. Cov duab qhia tau xaiv siv cov xub ntawm sab laug thiab sab xis. Thawj ob daim duab qhia cov ntaub ntawv tib yam li cov kab kos, thiab qhov thib peb qhia txog kev hloov pauv ntawm tus lej ceeb toom.

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Koj tuaj yeem xaiv cov rooj sib txoos lossis hnub ua cov ntsiab lus kos duab.

Nws tseem tuaj yeem nqaim thiab nthuav dav lub sijhawm ntawm daim ntawv qhia kom pom cov ntaub ntawv rau ib lub sijhawm:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Koj tuaj yeem nkaum cov duab ntawm qee qhov kev ntsuas los ntawm kev nyem rau ntawm lub npe metric hauv kab lus dab neeg:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Daim duab tom qab zais qhov "Nco" metric:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Hauv qab no yog ib lub rooj qhia cov ntaub ntawv txheeb xyuas cov ntaub ntawv. Thaum koj nyem rau ntawm ib ntu ntawm daim ntawv qhia ncuav qab zib, lub rooj yog lim:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Lub rooj muaj ob peb tabs rau lim cov ntaub ntawv. Hauv qhov piv txwv no, lim los ntawm namespace, cov ntaub ntawv, qeb (lub npe ceeb toom) muaj. Hauv lub rooj koj tuaj yeem xaiv ntau npaum li cas cov lus ceeb toom los tso rau ntawm ib nplooj ntawv (10, 25, 50, 100):

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Nws muaj peev xwm lim cov ntaub ntawv los ntawm txoj hlua nkag rau hauv "Tshawb" teb. Piv txwv ntawm kev lim los ntawm lo lus "Base":

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Nyob rau ntawm "Qhov Teeb Meem" tab, thaum koj nyem rau ntawm lub cim ntxiv ntawm qhov pib ntawm kab lus, cov lus piav qhia luv luv ntawm cov lus ceeb toom yuav tshwm sim:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Cov lus piav qhia luv luv muaj qhov txuas mus rau lub vev xaib nrog cov ncauj lus kom ntxaws txog qhov kev ceeb toom no.

Thaum koj nyem rau ntawm qhov tseem ceeb hauv "Package", "Category", "Type", "Severity" kab, cov ntaub ntawv cov lus tau lim los ntawm tus nqi xaiv. Lim los ntawm qeb:

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Cov kab "Age" qhia tias muaj pes tsawg tus tsim muaj sia nyob qhov lus ceeb toom no. Nyem rau ntawm tus nqi hauv kab Hnub Nyoog yuav qhib nplooj ntawv tsim uas qhov kev ceeb toom no tshwm sim thawj zaug.

Nyem rau ntawm tus nqi hauv kab "Cov Ntaub Ntawv" yuav qhib qhov chaws ntawm cov ntaub ntawv ntawm kab nrog cov cai uas ua rau ceeb toom. Yog hais tias cov ntaub ntawv tsis nyob rau hauv lub build directory los yog tau tsiv mus tom qab daim ntawv qhia tau tsim, qhib cov ntaub ntawv qhov chaws yuav ua tsis tau.

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

xaus

Warnings Next Generation tau dhau los ua cov ntaub ntawv muaj txiaj ntsig zoo rau kev pom hauv Jenkins. Peb cia siab tias kev txhawb nqa rau PVS-Studio los ntawm qhov plugin no yuav pab tau zoo rau cov neeg uas twb siv PVS-Studio, thiab tseem yuav nyiam cov neeg siv Jenkins rau kev tsom xam zoo li qub. Thiab yog tias koj qhov kev xaiv poob rau ntawm PVS-Studio ua tus ntsuas zoo li qub, peb yuav zoo siab heev. Peb caw koj download tau thiab sim peb lub cuab yeej.

Teeb tsa Cov Lus Ceeb Toom Tom ntej no plugin rau PVS-Studio kev koom ua ke

Yog tias koj xav qhia cov lus no nrog cov neeg hais lus Askiv, thov siv qhov txuas txhais lus: Valery Komarov. Configuration of the Warnings Next Generation plugin rau kev koom ua ke rau hauv PVS-Studio.

Tau qhov twg los: www.hab.com

Ntxiv ib saib