ProHoster > PVS-Studio tam sim no nyob rau hauv Chocolatey: kuaj Chocolatey los ntawm Azure DevOps
PVS-Studio tam sim no nyob rau hauv Chocolatey: kuaj Chocolatey los ntawm Azure DevOps
Peb txuas ntxiv ua kom siv PVS-Studio yooj yim dua. Peb lub ntsuas ntsuas tam sim no muaj nyob hauv Chocolatey, tus thawj tswj pob rau Windows. Peb ntseeg tias qhov no yuav pab txhawb kev xa tawm ntawm PVS-Studio, tshwj xeeb, hauv kev pabcuam huab. Yuav kom tsis txhob mus deb, cia peb tshawb xyuas qhov chaws ntawm tib Chocolatey. Azure DevOps yuav ua raws li CI system.
Nov yog ib daim ntawv teev npe ntawm peb lwm cov lus hais txog kev koom ua ke nrog huab cua:
Kuv qhia koj kom xyuam xim rau thawj tsab xov xwm hais txog kev koom ua ke nrog Azure DevOps, txij li qhov no qee cov ntsiab lus raug tshem tawm kom tsis txhob muab luam tawm.
Yog li ntawd, cov heroes ntawm tsab xov xwm no:
PVS Studio yog ib lub cuab yeej zoo li qub kev txheeb xyuas cov cuab yeej tsim los txheeb xyuas qhov tsis raug thiab qhov muaj peev xwm ua rau muaj qhov tsis zoo hauv cov haujlwm sau hauv C, C ++, C # thiab Java. Khiav ntawm 64-ntsis Windows, Linux, thiab macOS systems, thiab tuaj yeem txheeb xyuas cov lej tsim los rau 32-ntsis, 64-ntsis, thiab embedded ARM platforms. Yog tias qhov no yog koj thawj zaug sim sim cov lej zoo li qub los tshawb xyuas koj cov haujlwm, peb xav kom koj paub koj tus kheej nrog tsab xov xwm hais txog yuav ua li cas sai sai saib cov lus ceeb toom PVS-Studio txaus siab tshaj plaws thiab ntsuas lub peev xwm ntawm cov cuab yeej no.
Azure DevOps - ib txheej ntawm cov kev pabcuam huab uas koom ua ke npog tag nrho cov txheej txheem txhim kho. Lub platform no suav nrog cov cuab yeej xws li Azure Pipelines, Azure Boards, Azure Artifacts, Azure Repos, Azure Test Plans, uas tso cai rau koj kom ceev cov txheej txheem tsim software thiab txhim kho nws qhov zoo.
Chocolatey yog tus thawj tswj pob qhib rau Windows. Lub hom phiaj ntawm txoj haujlwm yog los ua kom tag nrho cov software lifecycle los ntawm kev teeb tsa mus rau kev hloov kho thiab uninstallation ntawm Windows operating systems.
Hais txog kev siv Chocolatey
Koj tuaj yeem pom yuav ua li cas rau nruab tus thawj tswj pob nws tus kheej ntawm qhov no txuas. Ua tiav cov ntaub ntawv rau kev txhim kho lub ntsuas ntsuas muaj nyob ntawm txuas Saib qhov Kev teeb tsa siv Chocolatey pob tus thawj tswj seem. Kuv yuav luv luv rov ua qee cov ntsiab lus los ntawm qhov ntawd.
Hais kom nruab qhov tseeb version ntawm lub analyzer:
choco install pvs-studio
Hais kom nruab ib qho version ntawm PVS-Studio pob:
Tam sim no cia saib ib qho piv txwv ntawm kev siv yooj yim ntawm cov ntsuas ntsuas hauv qab Azure DevOps.
hloov
Cia kuv ceeb toom rau koj tias muaj ib ntu cais txog cov teeb meem xws li kev sau npe rau ib tus account, tsim Tsim Pipeline thiab synchronizing koj tus account nrog ib qhov project nyob hauv GitHub repository. ib tsab xov xwm. Peb qhov teeb tsa yuav pib tam sim nrog sau cov ntaub ntawv teeb tsa.
Ua ntej, cia peb teeb tsa qhov pib tshwm sim, qhia tias peb tso tawm tsuas yog rau kev hloov pauv hauv tswv ceg:
trigger:
- master
Tom ntej no peb yuav tsum xaiv lub tshuab virtual. Txog tam sim no nws yuav yog Microsoft-tus neeg sawv cev nrog Windows Server 2019 thiab Visual Studio 2019:
pool:
vmImage: 'windows-latest'
Cia peb txav mus rau lub cev ntawm cov ntaub ntawv teeb tsa (block cov kauj ruam). Txawm tias muaj tseeb tias koj tsis tuaj yeem nruab software arbitrary rau hauv lub tshuab virtual, kuv tsis tau ntxiv lub thawv Docker. Peb tuaj yeem ntxiv Chocolatey ua qhov txuas ntxiv rau Azure DevOps. Ua li no, cia peb mus txuas. Nyem Tau txais nws dawb. Tom ntej no, yog tias koj twb tau tso cai lawm, tsuas yog xaiv koj tus account, thiab yog tias tsis yog, ces ua tib yam tom qab tso cai.
Ntawm no koj yuav tsum xaiv qhov twg peb yuav ntxiv qhov txuas ntxiv thiab nyem lub pob Nruab.
Tom qab ua tiav kev teeb tsa, nyem Txuas mus rau lub koom haum:
Tam sim no koj tuaj yeem pom tus qauv rau txoj haujlwm Chocolatey hauv lub qhov rais paub tab thaum kho cov ntaub ntawv configuration azure-pipelines.yml:
Txij li qhov sib txawv j ob peb kab saum toj no yog pib mus rau xoom, tus neeg teb xov tooj ternary yuav rov qab tus nqi cuav. Vim tias qhov mob no, lub cev ntawm lub voj yuav raug tua ib zaug xwb. Nws zoo nkaus li kuv tias daim code no tsis ua haujlwm txhua yam raws li tus programmer npaj.
Tus programmer uas tau sau nqe lus no ntawm cov lej tau theej thiab muab tso rau ob kab kawg thiab tsis nco qab kho lawv. Vim li no, cov neeg siv Chocolatey tsis tuaj yeem siv qhov ntsuas apiky ob peb txoj kev ntxiv. Zoo ib yam li cov kev ntsuas saum toj no, kuv tuaj yeem muab cov kev xaiv hauv qab no:
public virtual ConcurrentDictionary<string, PackageResult> get_outdated(....)
{
....
var pinnedPackageResult = outdatedPackages.GetOrAdd(
packageName,
new PackageResult(installedPackage,
_fileSystem.combine_paths(
ApplicationParameters.PackagesLocation,
installedPackage.Id)));
....
if ( installedPackage != null
&& !string.IsNullOrWhiteSpace(installedPackage.Version.SpecialVersion)
&& !config.UpgradeCommand.ExcludePrerelease)
{
....
}
....
}
Classic yuam kev: khoom ua ntej installPackage yog siv thiab ces kuaj rau null. Qhov kev kuaj mob no qhia peb txog ib qho ntawm ob qhov teeb meem hauv qhov kev zov me nyuam: ib qho installPackage yeej tsis sib npaug null, uas yog tsis ntseeg, thiab tom qab ntawd daim tshev yuav rov ua dua, lossis peb tuaj yeem tau txais qhov yuam kev loj hauv txoj cai - kev sim nkag mus rau qhov siv tsis tau.
xaus
Yog li peb tau ua lwm kauj ruam me me - tam sim no siv PVS-Studio tau dhau los ua qhov yooj yim dua thiab yooj yim dua. Kuv kuj xav hais tias Chocolatey yog tus thawj tswj hwm pob zoo nrog cov lej me me ntawm qhov yuam kev, uas tuaj yeem muaj tsawg dua thaum siv PVS-Studio.