2016-07-22 22 views
0

Ich habe bereits eine Website "MyWebsite" auf IIS auf Windows Server 2012 erstellt, der physische Pfad ist C:\builds\MyWebsite\wwwroot, gibt es 1 andere Ordner approot unter Verzeichnis C:\builds\MyWebsite, die auch erforderlich ist um die Website laufen zu lassen. Was ich tun möchte, ist:Verwendung von Msdeploy zum Bereitstellen einer vorhandenen Website auf Remote-Server

  1. einen neuen Ordner C:\builds\MyWebsiteNewBuild in Remote-Server erstellen, die verwendet wird meine neue Build zu setzen;
  2. dump meine neue Build D:\Release\PublishOutput von meinem lokalen Computer auf den Remote-Server, hat die Veröffentlichung Ausgabe 2 Unterordner: wwwroot und approot;
  3. ändern Sie den physischen Pfad von "MyWebsite" in den neu erstellten Ordner C:\builds\MyWebsiteNewBuild\wwwroot, und starten Sie den Dienst neu.

Ich bin neu in die MSDeploy, ich gesucht und es scheint, dass ich

msdeploy.exe -verb:dump-source:contentPath="D:\Release\PublishOutput" -dest:contentPath="C:\builds\MyWebsiteNewBuild",computerName="https://**.**.**.**/MsDeploy.axd",userName='administrator',password="*****",authType='Basic' -allowUntrusted 

kann meine neue Build Remote-Servers Zielordner, aber die anderen Anforderungen, wie zum Beispiel ändern, um die physischen dump Pfad meiner bestehenden Website, ich weiß nicht, wie zu tun ist.

Antwort

0

Sie können den Websitepfad mithilfe von appcmd über WebDeploy mithilfe eines Manifests ändern.

<runcommand path="%windir%\system32\inetsrv\appcmd set app /app.name:&quot;Default Web Site/app12&quot; /&#91;path='/'&#93;.physicalPath:C:\temp\app12" waitInterval="5000"/> 

http://www.dotnetcatch.com/2016/06/28/webdeploymsdeploy-quick-tip-change-iis-siteapp-physical-path-with-msdeploy/

Der folgende Beitrag beschreibt, wie eine benutzerdefinierte WebDeploy Paket auf einem Manifest basiert erstellen:

http://www.dotnetcatch.com/2016/06/23/deploy-an-asp-net-website-not-web-application-with-msdeploy/

+0

Dank Chief7, mit Ihren vorschlagen, ich glaube, die Operation „-prosync "könnte mein Problem lösen, ich führe zuerst den Befehl" appcmd set vdir "MySite /" -physicalPath: "C: \ Builds \ MyWebsiteNewBuild \ wwwroot" "lokal auf der AWS EC2-Instanz, die den physischen Pfad der Website erfolgreich geändert hat" MySite ", also nächster Schritt fo r ich würde diesen Befehl mit "-postsync" -Operation verbinden, ich werde hier später aktualisieren, sobald ich es funktioniere. – Emma