MSDeploy - 无法使用msbuild生成的批处理文件进行部署

时间:2013-01-08 08:32:44

标签: msbuild nant msdeploy

随着visual studio 2012的设置项目已经停止。我找到了一种使用团队城市自动进行Web部署的方法,我偶然发现了这篇精彩的文章

http://www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity.html

我能够使用msbuild为我的网站(LogIn)创建一个包,它创建了以下工件

PackageTmp
Login.deploy.cmd
Login.deploy-readme.txt
Login.SetParameters.xml
Login.SourceManifest.xml
Login.zip

接下来我要做的是,在使用Nant内置的peek功能进行一些xml转换后,我只想通过Nant调用Login.deploy.cmd。为了测试这个批处理文件,我用以下参数

运行了这个文件
  

login.deploy.cmd / T

生成后面的

=========================================================
SetParameters from:
"C:\Soft\Nant\nant-0.92\bin\LogIn\LogIn\obj\Debug\Package\Login.SetParameters.xm
l"
You can change IIS Application Name, Physical path, connectionString
or other deploy parameters in the above file.
-------------------------------------------------------
 Start executing msdeploy.exe
-------------------------------------------------------
 "C:\Program Files\IIS\Microsoft Web Deploy V3\\msdeploy.exe" -source:package='C
:\Soft\Nant\nant-0.92\bin\LogIn\LogIn\obj\Debug\Package\Login.zip' -dest:auto,in
cludeAcls='False' -verb:sync -disableLink:AppPoolExtension -disableLink:ContentE
xtension -disableLink:CertificateExtension -setParamFile:"C:\Soft\Nant\nant-0.92
\bin\LogIn\LogIn\obj\Debug\Package\Login.SetParameters.xml"  -whatif
Info: Adding sitemanifest (sitemanifest).
Info: Creating application (Default Web Site/Login_deploy)
Info: Adding virtual path (Default Web Site/Login_deploy)
Info: Adding directory (Default Web Site/Login_deploy).
Info: Adding file (Default Web Site/Login_deploy\About.aspx).
Info: Adding directory (Default Web Site/Login_deploy\Account).
Info: Adding file (Default Web Site/Login_deploy\Account\ChangePassword.aspx).
Info: Adding file (Default Web Site/Login_deploy\Account\ChangePasswordSuccess.a
spx).
Info: Adding file (Default Web Site/Login_deploy\Account\Login.aspx).
Info: Adding file (Default Web Site/Login_deploy\Account\Register.aspx).
Info: Adding file (Default Web Site/Login_deploy\Account\Web.config).
Info: Adding directory (Default Web Site/Login_deploy\bin).
Info: Adding file (Default Web Site/Login_deploy\bin\LogIn.dll).
Info: Adding file (Default Web Site/Login_deploy\bin\LogIn.pdb).
Info: Adding file (Default Web Site/Login_deploy\Default.aspx).
Info: Adding file (Default Web Site/Login_deploy\Global.asax).
Info: Adding file (Default Web Site/Login_deploy\Login.aspx).
Info: Adding directory (Default Web Site/Login_deploy\Scripts).
Info: Adding file (Default Web Site/Login_deploy\Scripts\jquery-1.4.1-vsdoc.js).

Info: Adding file (Default Web Site/Login_deploy\Scripts\jquery-1.4.1.js).
Info: Adding file (Default Web Site/Login_deploy\Scripts\jquery-1.4.1.min.js).
Info: Adding file (Default Web Site/Login_deploy\Site.Master).
Info: Adding directory (Default Web Site/Login_deploy\Styles).
Info: Adding file (Default Web Site/Login_deploy\Styles\Site.css).
Info: Adding file (Default Web Site/Login_deploy\Web.config).
Info: Adding ACL's for path (Default Web Site/Login_deploy)
Info: Adding ACL's for path (Default Web Site/Login_deploy)
Total changes: 27 (26 added, 0 deleted, 1 updated, 0 parameters changed, 549895
bytes copied)

日志显示它已经通过名称Login_deploy创建了一个虚拟目录,但是当我从inet管理器中检查它时,我看不到任何具有此名称的虚拟目录。

我在这里有点困惑。欢迎任何建议。

修改

我还尝试使用以下命令行参数

手动调用msdelpoy exe
msdeploy.exe 
-source:package=’Login.zip‘ 
-dest:auto 
-verb:sync 
-disableLink:AppPoolExtension 
-disableLink:ContentExtension 
-disableLink:CertificateExtension 
-allowUntrusted 
-retryAttempts=2 
-setParam:’IIS Web Application Name’=’TargetWebApp‘

给出了以下错误

Error: Unrecognized argument 'Web'. All arguments must begin with "-".
Error count: 1.

1 个答案:

答案 0 :(得分:0)

尝试运行:

login.deploy.cmd /Y

T / T开关用于测试,/ Y开关实际上将安装包。