在开发过程当中常常须要发布到开发环境、测试环境或者预发布环境上给其余同事进行测试验证效果等等,每次发布都要备份,拷贝,修改配置文件等等重复操做很是的麻烦,效率大打折扣,而web部署提供了这样的解决方案:在服务端安装Web Deploy服务,由Web Deploy服务完成备份发布等操做,今天小编就以图文并茂的方式来完整介绍这一安装部署的过程,具体有如下两大部分:web
1、安装IIS管理服务:打开服务器管理器 - 添加角色和功能 勾选web服务器(IIS)的管理服务选项 如图(一),而后点击下一步完成安装数据库
图一windows
2、安装Web Deploy V3.6 服务器
下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=43717测试
下载完以后直接安装,我选择的是彻底安装选项网站
v3.5的下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=39277spa
3、启动Web Deploy服务.net
Web Deploy服务安装完毕以后通常默认状况下是没有启动的,我遇到的状况就是这样,在更改配置以前必须向将Web Deploy服务中止,如图二:code
图二blog
更改服务配置的操做步骤: 打开IIS主页 - 管理服务 - 更改配置:启动远程链接选项勾上 如图(三)
图三
4、开通防火墙入站规则的相应端口,若是在上一个步骤中你没有更改端口,那么默认就是8172,如图四
图四
图五
6、设置目标站点的IIS管理器权限,如图六
图六
7、为目标站点的根目录文件夹添加LOCAL SERVICE用户,并设为彻底控制的权限,如图七
图七
8、开启自动备份
默认状况下deploy是没有打开自动备份的,那么开启自动备份的方法以下:
一、打开windows的PowerShell 执行下面的命令转到“%programfiles%\IIS\Microsoft Web Deploy V3\scripts”目录
cd "C:\Program Files\IIS\Microsoft Web Deploy V3\scripts"
二、检查当前PowerShell的执行策略,若是是Restricted 那么须要将它改成 RemoteSigned
Get-Executionpolicy
//若是输出为:Restricted 那么执行下面的命令进行修改执行策略
Set-Executionpolicy RemoteSigned
注意:上面命令会询问你是否要更改执行策略,你根据提示输入Y按回车
关于PowerShell的其余设置能够参照官方的文档:https://technet.microsoft.com/zh-CN/library/hh847748.aspx
三、执行下面的命令加载脚本:
. .\BackupScripts.ps1
注意:若是加载成功,将没有任何反应,若是加载失败将会有红色的提示语句;
四、经过TurnOn-Backups命令容许管理员开启或关闭站点的自动备份功能,这至关于一个总闸开关。
容许配置全部的备份功能
TurnOn-Backups -On $true
禁用配置全部的备份功能
TurnOn-Backups -On $false
五、打开全部站点或者指定站点的自动备份功能
# 打开全部站点的备份功能 Configure-Backups -Enabled $true # 打开foo站点的备份功能 Configure-Backups -SiteName "foo" -Enabled $true
自动备份设置已经完成,关于跟多的自动备份设置请参照官方文档:https://www.iis.net/learn/publish/using-web-deploy/web-deploy-automatic-backups
到此为止在服务端上的操做就已经完成了,接下来以VS2015为例介绍在客户端上的操做。
1、在发布以前咱们先来添加一个配置转换,因为本地的配置和服务器上的配置通常有所差别,因此添加一个配置转换解决差别的问题,在添加配置转换以前要先添加一个对应的解决方案配置,添加的方法如图八所示:
图八
2、解决方案配置通常按照发布的目标环境命名,这样比较清晰是针对哪一个服务器环境的,而后在解决方案的站点根目录下右键web.config文件,在弹出来的上下文菜单中添加配置转换,如图九:
图九
最后的到多出了一个web.测试环境.config的文件如图十:
图十
3、在转换配置文件中添加有差别的配置节点,通常来讲数据库链接,每一个服务器环境都是不同的,这里就以connectionStrings这个节点为例子简单说明一下,有关使用 web.config 转换的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=125889,以下图十一
图十一
添加完成以后,您能够右键web.测试环境.config文件在弹出的上下文菜单中预览转换后的结果,如图十二
图十二
4、发布和发布配置,右键web项目在上下文菜单中选择发布菜单,弹出的界面中选择自定义,咱们这里仍是输入测试环境,如图十三
图十三
点击肯定后会转到选择发布方法的界面,这里选择 Web Deploy,如图十四
图十四
这里面有几个参数须要说明一下的:
一、服务器:测试环境的服务器IP地址,在这里就是本文的第一部分介绍的服务器IP地址了
二、站点名称:发布的目标站点,这里就是本文第一部分介绍的在服务端建立的DeployTest站点
三、用户名:目标站点容许的用户名,这里就是本文第一部分介绍DeployTest站点添加的Test用户
四、密码:用户名的密码
五、目标URL:网站的主页,这个选项是可选的
六、验证链接:这个按钮是用来验证你填写的参数是否正确,若是一切都正常,那么点击下一页,进入到配置选择页,在这个操做界面要记得选择对应的配置,那么咱们选择测试环境,如图十五
图十五
来到最后一个页面就是预览了,固然你能够直接点击发布,也能够点击预览,选择性地发布,如图十六
图十六
点击发布后系统开始链接服务器将对应的站点进行备份,而后再覆盖站点,到这里整个流程就已经完成了,谢谢您的关注和阅读!