Märkus: Selles artiklis ei ole sõnade "build", "continuous build", "compile" ja "generate" kasutamine range, lihtsalt tea, mida see tähendab.
Esiteks, kui tahad pidevalt ehitada, pead kasutama käsureda. Aga dotnet core'i käsud tunduvad olevat veidi lihtsamad kui dotnet framework projektis. Sest dotnetcore'i ehituskäsk ondotnet msbuild xxxxx.csproj/yyyyy.sln Ja dotnet raamistiku ehituskäsk on.../msbuild.exe xxxx.csproj/yyyyy.sln, ja kõige segasem nende seas (peamiselt need, kes pole kunagi auku kukkunud, lihtsalt lase lahti) on seemsbuild.exeKus see täpselt on?msbuild.exe? Lõppude lõpuks, pärast dotnet framework SDK või erinevate Visual Studio versioonide paigaldamist Windowsis on neid paljumsbuild.exe, inimesed ei tea, kumba kasutada.
Alustame sellest, kuidas Windowsis dotnet raamistikuprojekti ehitada, et projekti keerukus ei mõjutaks põhiideed, mõtleme, et tahame luua lihtsa konsooliprojekti, mis sarnaneb Hello Worldile. Kokkuvõttes keskkond: Arendusmasin, Windows PC; Kirjastusmasin, Windows Server; Projekt, lihtne dot net raamistik konsooliprojekt. (Kasutan siin versiooni 4.5.2)
on
Parim on initsialiseerida uus projekt arendusmasinal, kasutades koodihaldust nagu git, et projekti saaks kloonida teistel arvutitel võrgus. Mida iganes sa projektis arendusmasinas kirjutad, peaasi, et seda saab kompileerida. Näiteks, tere maailm. Lisaks soovitatakse projekti lisada väike sõltuvus nuget-paketist ja valida ükskõik mida soovid, näiteks log4net viited. Proovi projekt arendusmasinas kompileerida. (Pärast mitmeid katseid kinnitati, et käsurea peaks projekti kompileerimisel kasutama msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe.) Kuid konkreetne projektitüüp sõltub endiselt tüübist, vali, kas valida Framework64 või mitte 64, kas see on v4.xxx või 3.x, 2.x, see tähendus on väga lihtne, kui sa ei saa aru, on see abitu) Kui projekt on C:\projects\test tee all, siis kompileeritud käsk peaks olema:
või
Loomulikult võib vaja minna ka muid parameetreid, nagu /p:Configuration=Release /p:plotform="Iga CPU", sõltuvalt olukorrast.
4. Testmasinas klooni projekt gitiga ja proovi sama käsuga projekti kompileerida. 5. Kui sa ei õnnestu, pead jätkama õige msbuild.exe, tee, parameetrite jms proovimist, seni kuni keskkonnas probleeme pole, õnnestub see kindlasti. 6. Kuid siin tuleb väga ärritav küsimus: mis saab nuget-sõltuvustest? Mul pole ilmselgeid probleeme kompileerimisega, aga kuidas ma tean, kust nuget pakett leida? See küsimus on mind kaua vaielnud. Mine NuGeti ametlikule veebilehele ja laadi nuget.exe fail alla. Pärast proovimist paigutatakse see fail projekti (st samasse kausta kui SLN või CSPROJ fail) ja käivitataksenuget.exe taastaminekäsk, et saada vajalik nuget pakett. See on kogemus, mille sain pärast mitmeid katseid) Noh, sa saad skripti lisada tegevuse ja käivitada nuget.exe taastada käsu iga kord. Samuti oleks natuke mugavam lisada nuget.exe keskkonnamuutujale (ilma selgituseta) ja seejärel iga kord käivitada. 7. Lõpuks testisin ja leidsin, et projekti saab edukalt kompileerida selliste toimingute ja käskude kaudu avaldamismasinas. See on lähedal lõplikule edule. Tegelikult, neile, kes mõistavad, mis on jekinid, on see asja lõpp ja ülejäänu saab ise teha.
Allpool
1. Mine Jekinsi ametlikule veebilehele, laadi alla, installi, käivita Jekins, registreeri konto, ilma selgituseta. Dotnet-projektide jaoks pead paigaldama msbuild, mstest ja mstestrunner pluginad.
2. Jenkinsi globaalne konfiguratsioon msbuild.
3. Loo uus projekt ja seadista see
4. Ehita projekt.
Põhimõtteliselt on ehitus edukas ja tõrkeid on lihtne lahendada isegi siis, kui see ei õnnestu.
Tegelikult on jekide kasutamise kohta rohkem õppinud ise ja püütud korduvalt mõista.
Lisainfo:
1. Kui VS-i saab edukalt kompileerida, kuid käsureal on toetamata süntaksi käsk. Siis võib olla, et arendaja kompileerib keerukamaid süntaksireegleid (kuigi projekt põhineb .NET raamistikul 4.5.2), näiteks C# 6.0 Väljalaskemasin paigaldas ainult .NET raamistiku 4.5.2, seega ei toeta see mõningaid uusimaid süntaksisid. Nii et sel juhul paigalda väljalaskemasinasse uusim SDK. Nagu joonisel näha. Microsofti ametlik veebileht SDK allalaadimine:https://www.microsoft.com/net/download/visual-studio-sdks Laadi alla vastav SDK. SDK sisaldab juba Runtime'i.
2. Kui Jekinsi töö peab kasutama Windowsi bat-käsku mitmete operatsioonide tegemiseks, siis Jenkinsi "Vaata olemasolevate keskkonnamuutujate nimekirja" kasutamine on kasulik. Kirjuta see nagu "%WORKSPACE%"
3. Kui teel on ruumi, näiteks C:\Program Files (x86)\Microsoft.NET, on vajalik lisada mõlemale poole jutumärki. Nagu:
|