2012-09-07 103 views
0

我已經想出了一個將網站部署到目標服務器的命令,它工作得很好。如果是很重要的在這方面,那就是:如何使用MS Web Deploy(msdeploy.exe)將文件從部署的網站複製到本地目錄?

"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -source:package='HelloWorld.Mvc3UI\obj\Debug\Package\HelloWorld.Mvc3UI.zip' 
    -dest:auto,ComputerName='https://10.225.0.30:8172/MsDeploy.axd?site=HelloWorld',username='<MyUserName>',password='<MyPassword>',authType='basic',includeAcls='false' 
    -allowUntrusted 
    -verb:sync 
    -disableLink:AppPoolExtension 
    -disableLink:ContentExtension 
    -disableLink:CertificateExtension 
    -setParamFile:"HelloWorld.Mvc3UI\obj\Debug\Package\HelloWorld.Mvc3UI.SetParameters.xml" 
    -setParam:name='IIS Web Application Name',value='HelloWorld' 
    -setParam:name='HelloWorld-Web.config Connection String',value='SERVER=10.225.0.25;DATABASE=HelloWorld;UID=sa;PWD=<MyPassword>;' 

現在,該網站是在服務器上,我希望能夠找回的\ bin \ HelloWorld.Database.dll文件,並將其複製到使用msdeploy.exe的本地目錄。

我猜測我必須在遠程服務器上使用包提供程序(因爲它是用來部署站點的),並在本地計算機上使用dirPath或filePath提供程序。但是,我無法制定確切的語法來使其工作。

背景

我需要的HelloWorld.Database.dll文件已在生產,因此它可以被用來在降級應用程序回滾情況數據庫。該文件使用Fluent Migrator Framework來遷移數據庫更改。

回答

0

我發現了一個解決方案。

"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -source:filePath='C:\inetpub\sites\HelloWorld\bin\HelloWorld.Database.dll',ComputerName='https://10.225.0.30:8172/MsDeploy.axd?site=HelloWorld',username='<MyUserName>',password='<MyPassword>',authType='basic',includeAcls='false' 
    -dest:filePath='F:\HelloWorldProject\HelloWorld.Database.dll' 
    -allowUntrusted 
    -verb:sync 

不過,我更希望如果有一個辦法做到這一點,而不必指定整個遠程路徑,因爲它可能會有所不同從一個環境到下一個。我試過了,顯然它不被支持。

相關問題