Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 20810|Atsakyti: 0

[Šaltinis] Kaip "Jekins" diegia ".NET Framework" projektą

[Kopijuoti nuorodą]
Paskelbta 2018-11-22 10:29:09 | | | |
Pastaba: Šiame straipsnyje "build", "continuous build", "compile" ir "generate" vartojimas nėra griežtas, tiesiog žinokite, ką tai reiškia.

Visų pirma, jei norite nuolat kurti, turite naudoti komandinę eilutę.
Tačiau atrodo, kad dotnet core komandos yra šiek tiek paprastesnės nei dotnet framework projektas.
Kadangi dotnetcore kūrimo komanda yradotnet msbuild xxxxx.csproj/yyyyy.sln
O dotnet sistemos kūrimo komanda yra.../msbuild.exe xxxx.csproj/yyyyy.sln, o labiausiai painus dalykas tarp jų (daugiausia žmonės, kurie niekada neįkrito į duobę, tiesiog numeskite) yra taimsbuild.exeKur tiksliai jis yra?msbuild.exe? Galų gale, įdiegus "dotnet framework SDK" ar skirtingas "Visual Studio" versijas sistemoje "Windows", bus daugmsbuild.exe, žmonės nesupranta, kurį iš jų naudoti.

Pradėkime nuo to, kaip sukurti "dotnet" sistemos projektą sistemoje "Windows", kad paties projekto sudėtingumas nepaveiktų pagrindinės idėjos, čia manome, kad norime sukurti paprastą konsolės projektą, panašų į "Hello World".
Apibendrinant galima pasakyti, kad aplinka:
Kūrimo mašina, Windows PC;
Leidybos mašina, Windows Server;
projektas, paprastas dot net framework konsolės projektas. (Čia naudoju 4.5.2 versiją)

įjungta

Geriausia inicijuoti naują projektą kūrimo mašinoje su kodo valdymu, pvz., git, kad projektą būtų galima klonuoti kituose įrenginiuose su tinklu.
Kad ir ką parašytumėte projekte kūrimo mašinoje, jei tik ją galima sukompiliuoti. Pavyzdžiui, sveikas pasaulis.
Be to, rekomenduojama į projektą įtraukti šiek tiek priklausomybės nuo nuget paketo ir pasirinkti tai, ko norite, pvz., log4net nuorodas.
Pabandykite kompiliuoti projektą kūrimo mašinoje.
(Po daugelio bandymų buvo patvirtinta, kad kompiliuojant projektą komandinė eilutė turėtų naudoti msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe.) Tačiau konkretus projekto tipas vis tiek priklauso nuo tipo, pasirinkite, ar pasirinkti Framework64, ar ne 64, ar tai v4.xxx, ar 3.x, 2.x, ši reikšmė labai paprasta, jei negalite jos suprasti, tai bus bejėgė)
Jei projektas yra C:\projects\test kelyje, kompiliuota komanda turėtų būti:

arba
Žinoma, priklausomai nuo situacijos, gali tekti atsinešti ir kitų parametrų, tokių kaip /p:Configuration=Release /p:plotform="Bet koks procesorius".

4. Bandomajame kompiuteryje git klonuokite projektą ir pabandykite kompiliuoti projektą naudodami tą pačią komandą.
5. Jei jums nepavyksta, turite nuolat bandyti teisingą msbuild.exe, kelią, parametrus ir kt., Kol aplinkoje nėra problemų, jums tikrai pasiseks.
6. Tačiau čia kyla labai beprotiškas klausimas, o kaip dėl priklausomybių nuo nugetų? Dabar neturiu akivaizdžių problemų sudarydamas, bet kaip žinoti, kur rasti "Nuget" paketą?
Šis klausimas mane įstrigo ilgą laiką.
Eikite į oficialią "NuGet" svetainę ir atsisiųskite nuget.exe failą.
Pabandžius, šis failas įdedamas į projektą (t. y. tame pačiame kataloge kaip SLN arba CSPROJ failas) ir vykdomasnuget.exe atkūrimaskomanda, kad gautumėte reikiamą nuget paketą. Tai patirtis, kurią gavau po daugelio bandymų)
Na, galite pridėti veiksmą prie scenarijaus ir kiekvieną kartą vykdyti komandą nuget.exe atkurti.
Taip pat būtų šiek tiek patogiau pridėti nuget.exe prie aplinkos kintamojo (be paaiškinimo) ir kiekvieną kartą jį vykdyti.
7. Galiausiai, aš išbandžiau ir nustatė, kad projektas gali būti sėkmingai kompiliuojamas naudojant tokias operacijas ir komandas leidybos mašinoje.
Tai arti galutinės sėkmės.
Tiesą sakant, tiems, kurie supranta, kas yra džekinai, tai yra reikalo pabaiga, o visa kita gali padaryti patys.

Žemiau

1. Eikite į oficialią "Jekins" svetainę, atsisiųskite, įdiekite, paleiskite "Jekins", užregistruokite paskyrą, jokio paaiškinimo. Dotnet projektams turite įdiegti msbuild, mstest ir mstestrunner papildinius.

2. Jenkins visuotinė konfigūracija msbuild.



3. Sukurkite naują projektą ir sukonfigūruokite projektą



4. Sukurkite projektą.

Iš esmės statyba yra sėkminga, ir ją lengva pašalinti, net jei ji nėra sėkminga.

Tiesą sakant, apie džekinų naudojimą daugiau jo išmokstama patys ir daug kartų bandoma suprasti.

Papildymas:

1. Jei VS galima sėkmingai kompiliuoti, bet komandinėje eilutėje yra nepalaikoma sintaksės eilutė.
Tada gali būti, kad kūrėjas kompiliuoja su pažangesnėmis sintaksės taisyklėmis (nors projektas pagrįstas .NET framework 4.5.2), pvz., C# 6.0
Išleidimo kompiuteryje įdiegta tik .NET Framework 4.5.2, todėl ji nepalaiko kai kurių naujausių sintaksių.
Taigi tokiu atveju įdiekite naujausią SDK išleidimo kompiuteryje.
Kaip parodyta paveikslėlyje.
"Microsoft" oficialios svetainės SDK atsisiuntimas:https://www.microsoft.com/net/download/visual-studio-sdks
Atsisiųskite atitinkamą SDK.
SDK jau apima vykdymo laiką.

2. Jei Jekins darbas turi naudoti Windows bat komandą atlikti operacijų seriją, tada naudojant Jenkins "Žr. galimų aplinkos kintamųjų sąrašą" bus naudinga.
Parašykite jį kaip "%WORKSPACE%"

3. Jei kelyje yra vietos, pvz., C:\Program Files (x86)\Microsoft.NET, abiejose kintamojo pusėse būtina pridėti dvigubas kabutes.
Kaip:







Ankstesnis:Jenkins trumpai pristatė
Kitą:"Angular6 Material2" įkapsuliuoja įspėjamojo pranešimo raginimo laukelį
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com