Poznámka: V tomto článku nie je používanie pojmov "build", "continuous build", "compile" a "generate" prísne, len vedzte, čo to znamená.
V prvom rade, ak chceš stavať nepretržite, musíš použiť príkazový riadok. Ale príkazy dotnet core sa zdajú byť o niečo jednoduchšie než dotnet framework project. Pretože build príkaz dotnetcore jedotnet msbuild xxxxx.csproj/yyyyy.sln A build príkaz dotnet frameworku je.../msbuild.exe xxxx.csproj/yyyyy.sln, a najmätúcejšia vec medzi nimi (hlavne pre ľudí, ktorí nikdy nespadli do priepasti, jednoducho to pustia) je totomsbuild.exeKde presne to je?msbuild.exe? Napokon, po inštalácii dotnet framework SDK alebo rôznych verzií Visual Studio vo Windows ich bude veľamsbuild.exe, ľudia nevedia, ktorú z nich použiť.
Začnime tým, ako postaviť dotnet framework projekt vo Windows, aby zložitosť samotného projektu neovplyvnila hlavnú myšlienku, tu si myslíme, že chceme vytvoriť jednoduchý konzolový projekt podobný Hello World. Na záver, prostredie: vývojový stroj, Windows PC; Publishing machine, Windows Server; Project, jednoduchý dot net framework konzolový projekt. (Používam tu verziu 4.5.2)
na
Najlepšie je inicializovať nový projekt na vývojovom stroji s riadením kódu, ako je git, aby sa projekt dal klonovať na iných strojoch v sieti. Čokoľvek napíšete do projektu na vývojovom stroji, pokiaľ sa to dá skompilovať. Napríklad, hello world. Okrem toho sa odporúča pridať trochu závislosti na nuget balíku do projektu a vybrať si to, čo chcete, napríklad log4net referencie. Skúste projekt skompilovať na vývojovom stroji. (Po mnohých pokusoch sa potvrdilo, že príkazový riadok by mal pri kompilácii projektu používať msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe.) Konkrétny typ projektu však stále závisí od typu, vyber si, či zvolíš Framework64 alebo nie 64, či už v4.xxx alebo 3.x, 2.x, tento význam je veľmi jednoduchý, ak mu nerozumieš, bude to bezmocné) Ak je projekt pod cestou C:\projects\test, potom by kompilovaný príkaz mal byť:
alebo
Samozrejme, možno budete musieť priniesť aj ďalšie parametre ako /p:Configuration=Release /p:plotform="Any CPU", v závislosti od situácie.
4. Na testovacom stroji git klonujte projekt a skúste ho skompilovať rovnakým príkazom. 5. Ak neuspejete, musíte neustále skúšať správny msbuild.exe, cestu, parametre a podobne, pokiaľ v prostredí nie je problém, určite uspejete. 6. Avšak tu prichádza veľmi frustrujúca otázka, čo nugetové závislosti? Nemám žiadne zjavné problémy s kompiláciou, ale ako zistím, kde nájsť balík Nuget? Táto otázka ma dlho drží v hlave. Navštívte oficiálnu webovú stránku NuGet a stiahnite si nuget.exe súbor. Po vyskúšaní sa tento súbor umiestni do projektu (t. j. do rovnakého adresára ako súbor SLN alebo CSPROJ) a vykonánuget.exe obnoviťpríkaz na získanie požadovaného balíka Nuget. Toto je skúsenosť, ktorú som získal po mnohých pokusoch) No, môžete pridať akciu do skriptu a zakaždým vykonať príkaz nuget.exe obnovenie. Bolo by tiež trochu pohodlnejšie pridať nuget.exe do environmentálnej premennej (bez vysvetlenia) a potom ju zakaždým spustiť. 7. Nakoniec som otestoval a zistil, že projekt je možné úspešne skompilovať prostredníctvom takýchto operácií a príkazov na publikačnom stroji. To je blízko k absolútnemu úspechu. V skutočnosti, pre tých, ktorí rozumejú tomu, čo sú jekiny, je to koniec záležitosti a zvyšok si môžu urobiť sami.
Nižšie
1. Choďte na oficiálnu stránku Jekins, stiahnite, nainštalujte, spustite Jekins, zaregistrujte si účet, bez vysvetlenia. Pre dotnet projekty je potrebné nainštalovať pluginy msbuild, mstest a mstestrunner.
2. Jenkinsova globálna konfigurácia msbuild.
3. Vytvoriť nový projekt a nakonfigurovať ho
4. Postaviť projekt.
V podstate je výstavba úspešná a je ľahké ju diagnostikovať, aj keď nie je úspešná.
V skutočnosti, čo sa týka používania jekinov, viac z toho sa človek naučí sám a mnohokrát sa ho snaží pochopiť.
Doplnok:
1. Ak sa VS podarí úspešne skompilovať, ale v príkazovom riadku je nepodporovaná syntaktická výzva. Potom môže byť tak, že vývojár kompiluje s pokročilejšími syntaktickými pravidlami (hoci projekt je založený na .NET frameworku 4.5.2), napríklad C# 6.0 Release Machine nainštaloval iba .NET framework 4.5.2, takže nepodporuje niektoré najnovšie syntaxe. Takže v tomto prípade nainštalujte najnovšie SDK na release machine. Ako je znázornené na obrázku. Oficiálna stránka Microsoftu na stiahnutie SDK:https://www.microsoft.com/net/download/visual-studio-sdks Stiahnite si príslušné SDK. SDK už obsahuje Runtime.
2. Ak Jekinsova úloha potrebuje použiť príkaz Windows bat na vykonanie série operácií, potom bude užitočné použiť Jenkinsovu "Odkaz na zoznam dostupných environmentálnych premenných". Napíšte to ako "%WORKSPACE%"
3. Ak je v ceste priestor, napríklad C:\Program Files (x86)\Microsoft.NET, je potrebné pridať dvojité úvodzovky na oboch stranách premennej. Ako:
|