Megjegyzés: Ebben a cikkben a "build", "continuous build", "compile" és "generate" kifejezések használata nem szigorú, csak tudd, mit jelent.
Először is, ha folyamatosan akarsz építeni, a parancssort kell használnod. De a dotnet core parancsai egyszerűbbnek tűnnek, mint a dotnet framework projekté. Mert a dotnetcore build parancsa adotnet msbuild xxxxx.csproj/yyyyy.sln A dotnet keretrendszer build parancsa pedig a következő.../msbuild.exe xxxx.csproj/yyyyy.sln, és a legzavarosabb dolog köztük (főleg azok, akik soha nem estek gödörbe, csak hagyják abba) ezmsbuild.exeHol van pontosan?msbuild.exe? Hiszen miután telepítette a dotnet framework SDK-t vagy a Visual Studio különböző verzióit Windowsban, sok leszmsbuild.exe, az emberek nem tudják, melyiket válasszák.
Kezdjük azzal, hogyan lehet dotnet keretrendszert építeni Windowsban, hogy a projekt összetettsége ne befolyásolja a fő ötletet, itt úgy gondoljuk, hogy egy egyszerű konzolprojektet szeretnénk építeni, hasonlóan a Hello Worldhez. Összefoglalva: a környezet: Fejlesztő gép, Windows PC; Kiadógép, Windows Server; A projekt, egy egyszerű dot net keretrendszer konzol projekt. (Itt a 4.5.2-es verziót használom)
On
A legjobb, ha egy új projektet egy fejlesztő gépen inicializálunk, például git-szel, hogy a projektet más, hálózattal rendelkező gépeken is klónozhassák. Bármit is írsz a projektben a fejlesztő gépen, amíg le lehet fordítani. Például: hello world. Ezen felül ajánlott egy kis függőséget hozzáadni a projekthez a nuget csomagtól, és azt válassza, amit szeretnél, például log4net hivatkozásokat. Próbáld meg a projektet a fejlesztő gépen fordítani. (Sok próbálkozás után megerősítették, hogy a parancssornak a msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe kódot kell használnia a projekt fordításakor.) Azonban a konkrét projekttípus továbbra is a típustól függ, döntsd el, hogy a Framework64-et választod-e vagy nem 64-et, legyen az v4.xxx vagy 3.x, 2.x, ez a jelentés nagyon egyszerű, ha nem érted, tehetetlen lesz) Ha a projekt a C:\projects\test út alatt van, akkor a fordított parancsnak a következőképpen kell lennie:
vagy
Természetesen előfordulhat, hogy más paramétereket is kell hoznod, például /p:Configuration=Release /p:plotform="Bármilyen CPU", a helyzettől függően.
4. A tesztgépen klónozd a projektet, és próbáld meg ugyanezzel a parancskal fordítani a projektet. 5. Ha nem sikerül, továbbra is próbálkoznod kell a helyes msbuild.exe, útvonalat, paramétereket stb., amíg nincs probléma a környezetben, biztosan sikerülni fogsz. 6. Azonban itt jön egy nagyon bosszantó kérdés: mi a helyzet a nuget függőségekkel? Most már nincs nyilvánvaló problémám a fordítással, de honnan tudom, hol találom meg a nuget csomagot? Ez a kérdés már régóta megragadt. Menj el a NuGet hivatalos weboldalára, és töltsd le nuget.exe fájlt. Próbálkozás után ez a fájl a projektbe kerül (azaz ugyanabba a könyvtárba, mint az SLN vagy CSPROJ fájl), és lefuttatjáknuget.exe helyreállításparancsot kell megszerezni a szükséges nuget csomagot. Ez az a tapasztalat, amit sok próbálkozás után kaptam.) Nos, hozzáadhatsz egy műveletet a szkripthez, és minden alkalommal végrehajthatod a nuget.exe visszaállítás parancsot. Az is kényelmesebb lenne hozzáadni nuget.exe a környezeti változóhoz (magyarázat nélkül), majd minden alkalommal végrehajtani. 7. Végül teszteltem, és azt találtam, hogy a projekt sikeresen fordítható ilyen műveleteken és parancsokon keresztül a kiadógépen. Ez közel áll a végső sikerhez. Valójában azok számára, akik értik, mik a jekinek, ez a vég, és a többit maguk is meg tudják intézni.
Lent
1. Menj a Jekins hivatalos weboldalára, töltsd le, telepítsd le, indítsd el a Jekins-t, regisztrálj egy fiókot, nincs magyarázat. Dotnet projektekhez telepítened kell az msbuild, mstest és mstestrunner pluginokat.
2. Jenkins globális konfigurációja msbuild.
3. Hozzon létre egy új projektet és konfigurálja azt
4. Építsd fel a projektet.
Alapvetően az építkezés sikeres, és könnyű hibakeresést végezni, még ha nem is sikeres.
Valójában a jekinek használatáról többet tanulunk meg magunk, és sokszor próbáljuk megérteni.
Kiegészítés:
1. Ha a VS sikeresen lefordítható, de a parancssorban nincs támogatott szintaxis. Akkor előfordulhat, hogy a fejlesztő fejlettebb szintaxisszabályokat komponál (bár a projekt a .NET 4.5.2-es keretrendszerén alapul), például a C# 6.0-ban A kiadott gép csak a .NET 4.5.2-es keretrendszert telepítette, így nem támogatja a legújabb szintaxisokat. Ebben az esetben telepítsd a legújabb SDK-t a kiadógépre. Ahogy az ábrán látható. A Microsoft hivatalos weboldala SDK letöltés:https://www.microsoft.com/net/download/visual-studio-sdks Töltsd le a megfelelő SDK-t. Az SDK már tartalmazza a Runtime-t.
2. Ha Jekins feladata a Windows bat parancsot kell használni egy sor művelet végrehajtásához, akkor Jenkins "Hivatkozz a rendelkezésre álló környezeti változók listájára" funkciója hasznos lesz. Írd úgy, mint "%WORKSPACE%"
3. Ha van hely az úton, például C:\Program Files (x86)\Microsoft.NET, szükség van a változó mindkét oldalára dupla idézőjelet hozzáadni. Amint:
|