Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 20810|Svar: 0

[Källa] Hur Jekins implementerar ett .NET Framework-projekt

[Kopiera länk]
Publicerad på 2018-11-22 10:29:09 | | | |
Obs: I denna artikel är användningen av "bygg", "kontinuerlig bygg", "kompilera" och "generera" inte rigorös, bara vet vad det betyder.

För det första, om du vill bygga kontinuerligt måste du använda kommandoraden.
Men kommandona i dotnet core verkar vara lite enklare än dotnet framework-projektet.
För dotnetcores build-kommando ärdotnet msbuild xxxxx.csproj/yyyyy.sln
Och byggkommandot för dotnet-ramverket är.../msbuild.exe xxxx.csproj/yyyyy.sln, och det mest förvirrande bland dem (främst folk som aldrig har fallit i en grop, bara släpp det) är dettamsbuild.exeVar exakt ligger den?msbuild.exe? Efter installation av dotnet framework SDK eller olika versioner av Visual Studio i Windows kommer det ju att finnas mångamsbuild.exe, folk vet inte vilken de ska använda.

Låt oss börja med hur man bygger ett dotnet-ramverk i Windows, för att inte låta projektets komplexitet påverka huvudidén, här tror vi att vi vill bygga ett enkelt konsolprojekt liknande Hello World.
Sammanfattningsvis gäller miljön:
Utvecklingsmaskin, Windows-PC;
Publiceringsmaskin, Windows Server;
Project, ett enkelt dot net framework konsolprojekt. (Jag använder version 4.5.2 här)



Det är bäst att initiera ett nytt projekt på en utvecklingsmaskin med kodhantering som git, så att projektet kan klonas på andra maskiner med nätverk.
Vad du än skriver i projektet på utvecklingsmaskinen, så länge det kan kompileras. Till exempel, hello world.
Dessutom rekommenderas att lägga till lite beroende av nuget-paketet i projektet och välja vad du vill, till exempel log4net-referenser.
Försök kompilera projektet på utvecklingsmaskinen.
(Efter många försök bekräftades att kommandoraden skulle använda msbuild.exe C:\windows\Microsoft .NET\Framework v4.xxx\\msbuild.exe vid kompilering av projektet.) Men den specifika projekttypen baseras fortfarande på typen, välj om du vill välja Framework64 eller inte 64, om det är v4.xxx eller 3.x, 2.x, denna betydelse är väldigt enkel, om du inte förstår det är det hjälplöst)
Om projektet ligger under C:\projects\test-sökvägen, så ska det kompilerade kommandot vara:

eller
Självklart kan du också behöva ta med andra parametrar som /p:Configuration=Release /p:plotform="Any CPU", beroende på situationen.

4. På testmaskinen, git-klona projektet och försök kompilera projektet med samma kommando.
5. Om du inte lyckas måste du fortsätta försöka rätt msbuild.exe, väg, parametrar osv., så länge det inte finns något problem i miljön kommer du definitivt att lyckas.
6. Men här kommer en mycket frustrerande fråga: hur är det med nuget-beroenden? Nu har jag inga uppenbara problem med kompileringen, men hur vet jag var jag hittar nuget-paketet?
Den här frågan har fastnat länge hos mig.
Gå till NuGets officiella webbplats och ladda ner nuget.exe fil.
Efter försök placeras denna fil i projektet (dvs. i samma katalog som SLN- eller CSPROJ-filen) och körsnuget.exe återställaKommando för att få det nödvändiga NuGet-paketet. Det här är den upplevelse jag fick efter många försök)
Du kan lägga till en åtgärd i skriptet och köra kommandot nuget.exe restore-kommandot varje gång.
Det skulle också vara lite smidigare att lägga till nuget.exe i miljövariabeln (utan förklaring) och sedan köra det varje gång.
7. Slutligen testade jag och upptäckte att projektet kan kompileras framgångsrikt genom sådana operationer och kommandon på publiceringsmaskinen.
Detta är nära slutgiltig framgång.
Faktum är att för dem som förstår vad jekins är, är detta slutet på saken, och resten kan göras själva.

Nedan

1. Gå till Jekins officiella webbplats, ladda ner, installera, starta Jekins, registrera ett konto, ingen förklaring. För dotnet-projekt behöver du installera msbuild-, mstest- och mstestrunner-plugins.

2. Jenkins globala konfiguration msbuild.



3. Skapa ett nytt projekt och konfigurera projektet



4. Bygg projektet.

I princip är bygget framgångsrikt, och det är lätt att felsöka även om det inte lyckas.

Faktum är att när det gäller användningen av jekins lär man sig mer av det själv och försöker många gånger att förstå.

Tillägg:

1. Om VS kan kompileras framgångsrikt, men det finns en icke-stödd syntaxprompt i kommandoraden.
Då kan det vara så att utvecklaren kompilerar med mer avancerade syntaxregler (även om projektet bygger på .NET-ramverket 4.5.2), såsom C# 6.0
Releasemaskinen installerade endast .NET-ramverket 4.5.2, så den stöder inte vissa av de senaste syntaxerna.
Så i det här fallet, installera den senaste SDK:n på releasemaskinen.
Som visas i figuren.
Microsofts officiella webbplats SDK-nedladdning:https://www.microsoft.com/net/download/visual-studio-sdks
Ladda ner motsvarande SDK.
SDK:n inkluderar redan Runtime.

2. Om Jekins jobb behöver använda Windows bat-kommandot för att utföra en serie operationer, kommer det vara hjälpsamt att använda Jenkins "Refer to the list of available environment variables".
Skriv det som "%WORKSPACE%"

3. Om det finns utrymme i vägen, såsom C:\Program Files (x86)\Microsoft.NET, det är nödvändigt att lägga till dubbla citattecken på båda sidor av variabeln.
Som:







Föregående:Jenkins introducerades kort
Nästa:Angular6 Material2 kapslar in varningsmeddelanderutan
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com