Ich konfiguriere einen CI-Build-Server mit Jenkins. Nach den Erstellungsschritten möchte ich die Website bereitstellen.
Beim Veröffentlichen der Website aus VisualStudio habe ich von Web Deploy veröffentlicht. Ich mag diese Methode, weil sie tatsächlich die Dateien veröffentlicht, die sich geändert haben. Die Bereitstellung ist also sehr schnell.
Nun versuche ich auf dem Build-Server dasselbe: Erstellen Sie die Anwendung (mithilfe von MSBuild.exe
) und stellen Sie dann die Anwendung bereit (mithilfe von MSDeploy.exe
?).
Ich habe einen Beitrag gesehen, in dem die Anwendung mit MSBuild.exe
und andere mit MSDeploy.exe
bereitgestellt werden. Gibt es da einen signifikanten Unterschied?
Haben Sie einen Rat, der Ihnen dabei helfen könnte?
Danke und fortgeschritten.
Verwenden Sie MSBuild, um ein MSDeploy-Paket zu erstellen, und anschließend MSDeploy.exe, um dieses Paket in beliebigen Umgebungen bereitzustellen. Dieser Link soll Ihnen helfen, die Funktionsweise von WebDeploy/MSDeploy besser zu verstehen.
http://dotnetcatch.com/2016/02/25/the-anatomy-of-a-webdeploy-package/
Was wirklich WIRKLICH cool ist, können Sie auch MSDeploy verwenden, um Datenbanken und Nicht-Webanwendungen bereitzustellen. Mit dieser Methode haben wir die Bereitstellung von über 50 Produkten vollständig automatisiert.
http://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/
http://dotnetcatch.com/2016/03/18/deploy-non-web-apps-with-msdeploy/
AKTUALISIERT- Grundlegende Schritte zur Verwendung von MSDeploy-Paketen:
/t:Package
hinzufügen bin
in Ihrem Artefakt-Repo Rufen Sie MSDeploy.exe auf, um das Paket auf Ihrem Zielserver bereitzustellen. Hier gibt es viele Optionen, aber Folgt der grundlegende Befehl:
"c:\Programme (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb: sync -source: package = mypackage.Zip -dest: auto, computername = localhost
Um noch einfacher mit dem aktuellen Visual Studio und Dotnet zu arbeiten, erstellen Sie Ihr Veröffentlichungsprofil in Visual Studio und verwenden Sie dann Dotnet auf dem CI-Server:
dotnet publish /p:PublishProfile=PROFILE-NAME /p:Password=*****