使用Microsoft Web Deploy技术自动部署
首先安装Microsoft Web Platform Installer,安装web部署工具3.0候选发布版,另外安装IIS:管理服务,打开IIS管理器,双击“Management Service Delegation”图标,
在动作面板上,点击“Edit Feature Settings …”链接,打开“Edit Feature Settings”对话框—选中“Allow administrators to bypass rules”选项。这允许有服务器上管理员帐号的用户跳过Web管理服务的委托设置,而是使用管理员的权限进行操作:
再双击管理服务,选中“Enable Remote Connections”复选框来启用远程部署。另外你也可以选择填写正在运行的管理服务的IP和端口号—还有允许那些客户端IP可以连接进来。你可以通过调整这些设置来限制访问部署服务的人员。
在“操作”页签点击“启动”连接就会在服务期上启动Web管理服务:
现在这台服务器已经使用管理员账号的Web Deploy安装了部署服务。
重要事项:一个需要关注的事情是你的服务器上是否启用了防火墙,或你的服务器在集群中的位置。管理服务默认使用HTTPS协议运行在8172这个端口。这个端口可能默认被你主机的设置关闭了。这样的话,要么你需要在防火墙/或宿主上打开它—要么选择一个允许的端口号。要测试管理服务是否可用,只需要打开浏览器并访问类似https://yourservername:8172/MsDeploy.axd 的链接就可以—如果你被要求提供用户名/密码,那说明它没有被防火墙阻挡。如果是超时则说明防火墙禁用了端口。
下面提供发布批处理文件deploy.bat文件
msdeploy -source:contentpath="C:\Program Files (x86)\CruiseControl.NET\server\Test\WorkingDirectory\Test\obj\Debug\Package\PackageTmp\" -dest:contentpath="c:\deploy",includeAcls=false,computername="https://localhost:8192/msdeploy.axd?Site=Test",authType=Basic,userName=administrator,password=pass@word1 -allowUntrusted -verb:sync
发布到本地
msdeploy -source:contentpath="C:\Program Files (x86)\CruiseControl.NET\server\Test\WorkingDirectory\Test\obj\Debug\Package\PackageTmp\" -dest:contentpath="D:\wxm\deploy" -verb:sync
发布到共享文件
msdeploy -source:contentpath="C:\Program Files (x86)\CruiseControl.NET\server\Test\WorkingDirectory\Test\obj\Debug\Package\PackageTmp\" -dest:contentpath="\\VBOXSVR\wxm\deploy" -verb:sync
参考:http://blog.joycode.com/scottgu/archives/2010/11/03/116148.joy