1

Von einem CI-CD prospektiv, ich versuche zu finden, was sind die Ordner & Dateien (bin, obj, .dll usw.), die auf einem IIS-Server veröffentlicht werden, während die msbuild.exe mit der Option publish verwenden. Ich bin kein .NET Entwickler. Welche Dateien/Ordner werden beim Veröffentlichen nach dem Build an die Knoten gesendet?Was entscheidet über die Ausgabedateien in MSBuild?

Meine Anwendung ist ziemlich einfach. Die publish (oder die Bereitstellung) ist mehr oder weniger eine Reihe von Dateikopien vom CI-Server an die IIS-Knoten. Der Befehl für den Build verwendet und veröffentlichen ist

bat '"C:\\MSBuild\\12.0\\Bin\\MSBuild.exe" /p:Configuration=DEV /t:Rebuild /p:DeployOnBuild=true /p:PublishProfile=DEV /m:4 src/myapp.sln' 

I & Ort, um die benötigten Ausgabeordner & Dateien in einen Datei-Repository nach dem msbuild Prozess zu schaffen versuchen (vor der Veröffentlichung). Dann werde ich diese Dateien für nachfolgende Umgebungen verwenden (mit ihren Web-Konfigurationsdateien). Vermeiden Sie so den Neuaufbau für jede Umgebung.

+0

Sie können an der SetParameters.xml aussehen wollen, dass die Implementierungspakete begleitet, die erstellt werden. Sie können diese für jede Implementierungsumgebung anpassen. https://msdn.microsoft.com/en-us/library/ff398068(v=vs.110).aspx – jessehouwing

+0

Die SetParameters.xml dient zum Transformieren der web.config-Dateien für die verschiedenen Projekte basierend auf den Umgebungen. Dieser Teil ist mit der Transformation abgeschlossen. Ich habe Dateien und Ordner, die sich nicht mit den Umgebungen ändern. Ich suche nach diesen Ordnern und Dateien, damit ich das gleiche Set in anderen Umgebungen verwenden kann. Was entscheidet diese Ausgabe von msbuild.exe? (Ich denke, meine Frage ist eine sehr lahme) – OK999

+0

Es dauert nur die Ausgabe aus dem Projekt. Und optional fügt sie eine Reihe zusätzlicher Schritte hinzu. – jessehouwing

Antwort

1

In diesem Kontext verwendet MSBuild tatsächlich WebDeploy unter den Abdeckungen, um die Anwendung bereitzustellen. Im Wesentlichen kompiliert MSBuild alle C# - oder VB-Dateien im Webanwendungsprojekt und erstellt DLLs im bin-Verzeichnis, dann packt WebDeploy alle Webserverdateien (HTML/CSS/JS/etc) und den bin-Ordner zum Ziel.

Der folgende Beitrag beschreibt, wie WebDeploy funktioniert.

https://dotnetcatch.com/2016/02/25/the-anatomy-of-a-webdeploy-package/

Verwandte Themen