Hinweis: In diesem Artikel ist die Verwendung von "build", "continuous build", "compile" und "generate" nicht streng, man sollte nur wissen, was es bedeutet.
Erstens, wenn du kontinuierlich bauen willst, musst du die Befehlszeile verwenden. Aber die Befehle von Dotnet Core scheinen etwas einfacher zu sein als das Dotnet-Framework-Projekt. Denn der Build-Befehl von dotnetcore istdotnet msbuild xxxxx.csproj/yyyyy.sln Und der Build-Befehl des dotnet-Frameworks ist.../msbuild.exe xxxx.csproj/yyyyy.sln, und das Verwirrendste unter ihnen (vor allem Leute, die noch nie in eine Grube gefallen sind, lassen Sie es einfach fallen) ist Folgendesmsbuild.exeWo genau ist es?msbuild.exe? Schließlich wird es nach der Installation des dotnet-Framework-SDK oder verschiedener Versionen von Visual Studio unter Windows viele gebenmsbuild.exewissen die Leute nicht, welche sie nehmen sollen.
Fangen wir damit an, wie man ein Dotnet-Framework-Projekt unter Windows baut: Damit die Komplexität des Projekts selbst die Hauptidee nicht beeinflusst, denken wir, dass wir ein einfaches Konsolenprojekt ähnlich wie Hello World bauen wollen. Zusammenfassend: Die Umwelt: Entwicklungsmaschine, Windows-PC; Publishing-Maschine, Windows Server; Project, ein einfaches Konsolenprojekt des dot net frameworks. (Ich benutze hier Version 4.5.2)
auf
Am besten initialisiert man ein neues Projekt auf einer Entwicklungsmaschine mit Codeverwaltung wie git, sodass das Projekt auf anderen Rechnern mit Netzwerk geklont werden kann. Was auch immer du im Projekt auf der Entwicklungsmaschine schreibst, solange es kompiliert werden kann. Zum Beispiel Hello World. Außerdem wird empfohlen, dem Projekt eine kleine Abhängigkeit vom Nuget-Paket hinzuzufügen und zu wählen, was man möchte, zum Beispiel log4net-Referenzen. Versuche, das Projekt auf der Entwicklungsmaschine zu kompilieren. (Nach vielen Versuchen wurde bestätigt, dass die Kommandozeile beim Kompilieren des Projekts die msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx msbuild.exe\ verwenden sollte.) Der spezifische Projekttyp hängt jedoch immer noch vom jeweiligen Typ ab, entscheide, ob du Framework64 wählst oder nicht, 64, ob es v4.xxx oder 3.x oder 2.x ist, diese Bedeutung ist sehr einfach, wenn du es nicht verstehst, ist es hilflos.) Wenn das Projekt unter dem C:\projects\test-Pfad liegt, sollte der kompilierte Befehl lauten:
oder
Natürlich müssen Sie je nach Situation auch andere Parameter wie /p:Konfiguration=Freigeben /p:plotform="Jede CPU" mitbringen.
4. Auf dem Testrechner das Projekt mit git-Klonen und versuchen, das Projekt mit demselben Befehl zu kompilieren. 5. Wenn du keinen Erfolg hast, musst du weiterhin die richtigen msbuild.exe, den richtigen Weg, die Parameter usw. versuchen, solange es kein Problem in der Umgebung gibt, wirst du definitiv Erfolg haben. 6. Hier stellt sich jedoch eine sehr frustrierende Frage: Was ist mit Nuget-Abhängigkeiten? Ich habe zwar keine offensichtlichen Probleme beim Kompilieren, aber wie weiß ich, wo ich das Nuget-Paket finde? Diese Frage beschäftigt mich schon lange. Gehe auf die offizielle Website von NuGet und lade nuget.exe Datei herunter. Nach dem Versuch wird diese Datei im Projekt (d. h. im selben Verzeichnis wie die SLN- oder CSPROJ-Datei) gelegt und ausgeführtnuget.exe wiederherstellenBefehl, um das erforderliche Nuget-Paket zu erhalten. Das ist die Erfahrung, die ich nach vielen Versuchen gemacht habe.) Nun, du kannst dem Skript eine Aktion hinzufügen und jedes Mal den Befehl nuget.exe restore ausführen. Es wäre auch etwas bequemer, nuget.exe zur Umgebungsvariable hinzuzufügen (ohne Erklärung) und sie dann jedes Mal auszuführen. 7. Schließlich habe ich getestet und festgestellt, dass das Projekt erfolgreich durch solche Operationen und Befehle auf der Publishing-Maschine kompiliert werden kann. Das ist nahe am ultimativen Erfolg. Tatsächlich ist das für diejenigen, die verstehen, was Jekins sind, das Ende der Sache, und der Rest kann man selbst erledigen.
Unten
1. Gehe auf die offizielle Jekins-Website, lade es herunter, installiere, starte Jekins, registriere ein Konto, ohne Erklärung. Für dotnet-Projekte musst du die msbuild-, mstest- und mstestrunner-Plugins installieren.
2. Jenkins globale Konfiguration msbuild.
3. Ein neues Projekt erstellen und das Projekt konfigurieren
4. Baue das Projekt.
Im Grunde ist der Bau erfolgreich, und es ist einfach, Fehler zu beheben, auch wenn er nicht erfolgreich ist.
Tatsächlich lernt man über die Verwendung von Jekins mehr davon selbst und versucht mehrfach zu verstehen.
Ergänzung:
1. Wenn das VS erfolgreich kompiliert werden kann, aber es eine nicht unterstützte Syntax-Eingabe in der Kommandozeile gibt. Dann könnte es sein, dass der Entwickler mit fortgeschritteneren Syntaxregeln kompiliert (obwohl das Projekt auf dem .NET-Framework 4.5.2 basiert), wie C# 6.0 Die Release-Maschine installierte nur das .NET-Framework 4.5.2, sodass einige der neuesten Syntaxen nicht unterstützt werden. In diesem Fall installieren Sie also das neueste SDK auf dem Release-Rechner. Wie in der Abbildung gezeigt. Offizielle Microsoft-Website SDK-Download:https://www.microsoft.com/net/download/visual-studio-sdks Laden Sie das entsprechende SDK herunter. Das SDK enthält bereits Runtime.
2. Wenn Jekins' Aufgabe den Windows-Bat-Befehl für eine Reihe von Operationen verwenden muss, ist Jenkins' "Refer to the list of available environment variables" hilfreich. Schreib es so "%WORKSPACE%"
3. Wenn Platz im Pfad vorhanden ist, zum Beispiel C:\Program Files (x86)\Microsoft.NET, es ist notwendig, doppelte Anführungszeichen auf beiden Seiten der Variablen hinzuzufügen. Wie:
|