Huomautus: Tässä artikkelissa sanojen "build", "continuous build", "compile" ja "generate" käyttö ei ole tiukkaa, tiedä vain, mitä se tarkoittaa.
Ensinnäkin, jos haluat rakentaa jatkuvasti, sinun täytyy käyttää komentoriviä. Mutta dotnet core:n komennot vaikuttavat hieman yksinkertaisemmilta kuin dotnet framework -projekti. Koska dotnetcoren build-komento ondotnet msbuild xxxxx.csproj/yyyyy.sln Ja dotnet-kehyksen build-komento on.../msbuild.exe xxxx.csproj/yyyyy.sln, ja kaikkein hämmentävin asia heistä (lähinnä ihmiset, jotka eivät ole koskaan pudonneet kuoppaan, vain pudota se) on tämämsbuild.exeMissä se tarkalleen on?msbuild.exe? Loppujen lopuksi, kun asennat dotnet framework SDK:n tai eri Visual Studion versiot Windowsissa, niitä tulee olemaan paljonmsbuild.exe, ihmiset eivät tiedä, mitä käyttää.
Aloitetaan siitä, miten rakentaa dotnet-kehysprojekti Windowsissa, jotta projektin monimutkaisuus ei vaikuttaisi pääajatukseen, tässä ajattelemme haluavamme rakentaa yksinkertaisen konsoliprojektin, joka muistuttaa Hello Worldia. Yhteenvetona ympäristö: Kehityskone, Windows PC; Julkaisukone, Windows Server; Project, yksinkertainen dot net framework -konsoliprojekti. (Käytän versiota 4.5.2 tässä)
päällä
On parasta aloittaa uusi projekti kehityskoneella koodinhallinnalla, kuten gitillä, jotta projekti voidaan kloonata muilla verkkokoneilla. Mitä tahansa kirjoitat projektissa kehityskoneella, kunhan se voidaan kääntää. Esimerkiksi, hello world. Lisäksi on suositeltavaa lisätä projektiin pieni riippuvuus nuget-paketista ja valita mitä haluat, kuten log4net-viittaukset. Kokeile kääntää projekti kehityskoneella. (Monien yritysten jälkeen vahvistettiin, että komentorivin tulisi käyttää msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe käännettäessä projektia.) Kuitenkin tietty projektityyppi perustuu silti tyypin mukaan, valitse Framework64 vai et 64, onko se v4.xxx vai 3.x, 2.x, tämä merkitys on hyvin yksinkertainen, jos et ymmärrä sitä, se on avuton) Jos projekti on C:\projects\test-polun alla, käännetyn komennon tulisi olla:
tai
Tietenkin saatat tarvita myös muita parametreja, kuten /p:Configuration=Release /p:plotform="Mikä tahansa CPU", tilanteesta riippuen.
4. Testikoneessa git kloonaa projekti ja yritä kääntää projekti samalla komennolla. 5. Jos et onnistu, sinun täytyy jatkaa oikean msbuild.exe, polun, parametrien jne. kokeilemista, kunhan ympäristössä ei ole ongelmia, onnistut varmasti. 6. Mutta tässä tulee hyvin ärsyttävä kysymys: entä nuget-riippuvuudet? Nyt minulla ei ole ilmeisiä ongelmia kääntämisessä, mutta mistä tiedän, mistä nuget-paketti löytyy? Tämä kysymys on pyörittänyt minua pitkään. Mene NuGetin virallisille verkkosivuille ja lataa nuget.exe tiedosto. Kokeiltuaan tämä tiedosto sijoitetaan projektiin (eli samaan hakemistoon kuin SLN- tai CSPROJ-tiedosto) ja suoritetaannuget.exe restaurointikomennon avulla saadakseni tarvittavan nuget-paketin. Tämä on kokemus, jonka sain monien yritysten jälkeen) No, voit lisätä toiminnon skriptiin ja suorittaa nuget.exe palautuskomennon joka kerta. Olisi myös hieman kätevämpää lisätä nuget.exe ympäristömuuttujaan (ilman selitystä) ja suorittaa se joka kerta. 7. Lopuksi testasin ja huomasin, että projekti voidaan onnistuneesti kääntää tällaisilla operaatioilla ja komentoilla julkaisukoneella. Tämä on lähellä lopullista menestystä. Itse asiassa, niille, jotka ymmärtävät, mitä jekinit ovat, tämä on asian loppu, ja loput voi hoitaa itse.
Alla
1. Mene Jekinsin virallisille verkkosivuille, lataa, asenna, käynnistä Jekins, rekisteröi tili, ei selitystä. Dotnet-projekteissa sinun täytyy asentaa msbuild-, mstest- ja mstestrunner-lisäosat.
2. Jenkinsin globaali konfiguraatio msbuild.
3. Luo uusi projekti ja konfiguroi projekti
4. Rakenna projekti.
Käytännössä rakentaminen on onnistunut, ja vianetsintä on helppoa, vaikka se ei onnistuisikaan.
Itse asiassa jekinien käytöstä oppii enemmän itse ja yrittää ymmärtää monta kertaa.
Lisäravinne:
1. Jos VS voidaan kääntää onnistuneesti, mutta komentorivillä on tueton syntaksikehote. Silloin voi olla, että kehittäjä kääntää sitä kehittyneemmillä syntaksisäännöillä (vaikka projekti perustuu .NET-kehykseen 4.5.2), kuten C# 6.0 Julkaisukone asensi vain .NET frameworkin 4.5.2, joten se ei tue joitakin uusimmista syntaksista. Tässä tapauksessa asenna uusin SDK julkaisukoneeseen. Kuten kuvassa näkyy. Microsoftin virallinen verkkosivusto SDK-lataus:https://www.microsoft.com/net/download/visual-studio-sdks Lataa vastaava SDK. SDK:ssa on jo Runtime.
2. Jos Jekinsin tehtävä tarvitsee käyttää Windowsin bat-komentoa suorittaakseen sarjan operaatioita, Jenkinsin "Refer to the list of available environment variables" -toiminto on hyödyllinen. Kirjoita se kuten "%WORKSPACE%"
3. Jos polussa on tilaa, kuten C:\Program Files (x86)\Microsoft.NET, on tarpeen lisätä kaksoislainausmerkit molemmille puolille muuttujaa. As:
|