Opomba: V tem članku uporaba izrazov "build", "continuous build", "compile" in "generate" ni stroga, le vedite, kaj pomeni.
Najprej, če želiš graditi neprekinjeno, moraš uporabiti ukazno vrstico. A ukazi dotnet core se zdijo nekoliko preprostejši kot dotnet framework projekt. Ker je ukaz za gradnjo v dotnetcoredotnet msbuild xxxxx.csproj/yyyyy.sln In ukaz za gradnjo dotnet ogrodja je.../msbuild.exe xxxx.csproj/yyyyy.sln, in najbolj zmedena stvar med njimi (predvsem ljudje, ki še nikoli niso padli v jamo, samo spusti) je tamsbuild.exeKje točno je?msbuild.exe? Navsezadnje, po namestitvi dotnet framework SDK ali različnih različic Visual Studia v Windows, jih bo velikomsbuild.exe, ljudje ne vedo, katero naj uporabijo.
Začnimo s tem, kako zgraditi dotnet ogrodni projekt v Windows, da kompleksnost projekta ne bi vplivala na glavno idejo; tukaj menimo, da želimo zgraditi preprost konzolni projekt, podoben Hello World. Povzemimo, okolje: Razvojni računalnik, Windows PC; Založniški stroj, Windows Server; Projekt, preprost konzolni projekt dot net ogrodja. (Tukaj uporabljam različico 4.5.2)
na
Najbolje je začeti nov projekt na razvojnem računalniku z upravljanjem kode, kot je git, da se projekt lahko klonira na drugih računalnikih z omrežjem. Vse, kar napišeš v projektu na razvojni napravi, dokler je mogoče prevesti. Na primer, pozdravljeni svet. Poleg tega je priporočljivo, da projektu dodate nekaj odvisnosti od nuget paketa in izberete karkoli želite, na primer log4net reference. Poskusi projekt prevesti na razvojni napravi. (Po številnih poskusih je bilo potrjeno, da naj bi ukazna vrstica pri prevajanju projekta uporabljala msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe.) Vendar pa je specifična vrsta projekta še vedno odvisna od tipa, izberi Framework64 ali ne 64, ali je v4.xxx ali 3.x, 2.x, ta pomen je zelo preprost, če ga ne razumeš, bo nemočen) Če je projekt pod poti C:\projects\test, potem bi moral biti prevedeni ukaz:
ali
Seveda boste morda morali prinesti tudi druge parametre, kot so /p:Configuration=Release /p:plotform="Kateri koli CPU", odvisno od situacije.
4. Na testni napravi git kloniranje projekta in poskusi prevesti projekt z istim ukazom. 5. Če ti ne uspe, moraš še naprej poskušati s pravimi msbuild.exe, potmi, parametri itd., dokler v okolju ni težav, boš zagotovo uspel. 6. Vendar pa se pojavi zelo nadležno vprašanje: kaj pa nuget odvisnosti? Zdaj nimam očitnih težav s prevajanjem, ampak kako naj vem, kje najdem nuget paket? To vprašanje me že dolgo muči. Obiščite uradno spletno stran NuGet in prenesite nuget.exe datoteko. Po poskusu se ta datoteka postavi v projekt (tj. v isto mapo kot SLN ali CSPROJ datoteka) in izvedenuget.exe obnoviUkaz za pridobitev zahtevanega paketa Nuget. To je izkušnja, ki sem jo dobil po mnogih poskusih) No, lahko dodaš dejanje v skripto in vsakič izvedeš ukaz nuget.exe obnovi. Bilo bi tudi nekoliko bolj priročno, če bi nuget.exe dodali v spremenljivko okolja (brez razlage) in jo nato vsakič izvajali. 7. Nazadnje sem preizkusil in ugotovil, da je projekt mogoče uspešno prevesti s takšnimi operacijami in ukazi na založniškem stroju. To je blizu končnega uspeha. Pravzaprav je za tiste, ki razumejo, kaj so jekini, to konec zadeve, ostalo pa lahko opravijo sami.
Spodaj
1. Obišči uradno spletno stran Jekins, prenesi, namesti, zaženi Jekins, registriraj račun, brez pojasnila. Za dotnet projekte moraš namestiti vtičnike msbuild, mstest in mstestrunner.
2. Jenkinsova globalna konfiguracija msbuild.
3. Ustvarite nov projekt in ga konfigurirajte
4. Zgradite projekt.
V bistvu je gradnja uspešna in enostavno je odpraviti težave, tudi če ni uspešna.
Pravzaprav se o uporabi jekinov več naučiš sam in večkrat poskušaš razumeti.
Dodatek:
1. Če je mogoče VS uspešno prevesti, vendar je v ukazni vrstici nepodprt sintaktični poziv. Potem je možno, da razvijalec prevaja z bolj naprednimi sintaktičnimi pravili (čeprav je projekt osnovan na .NET ogrodju 4.5.2), kot je C# 6.0 Izdajalni stroj je namestil le .NET framework 4.5.2, zato ne podpira nekaterih najnovejših sintaks. Torej v tem primeru namesti najnovejši SDK na računalnik za izdajo. Kot je prikazano na sliki. Prenos SDK uradne Microsoftove spletne strani:https://www.microsoft.com/net/download/visual-studio-sdks Prenesite ustrezni SDK. SDK že vključuje Runtime.
2. Če mora Jekinsova naloga uporabiti ukaz Windows bat za izvedbo niza operacij, bo uporaba Jenkinsovega "Glej na seznam razpoložljivih okoljskih spremenljivk" koristna. Napiši to kot "%WORKSPACE%"
3. Če je na poti prostor, na primer C:\Program Files (x86)\Microsoft.NET, je potrebno dodati dvojne narekovaje na obeh straneh spremenljivke. Kot:
|