软件介绍
MicrosoftWebDeploy—一个采用全面的发布和部署机制的免费服务器技术。
WebDeploy不仅仅让你发布文件—还可以部署数据库结构/数据,运行变更的数据库脚本,设置安全访问控制列表等等。所有这些部署步骤都可以用VisualStudio自动完成。
Web部署工具可简化IISWeb服务器、Web应用程序和网站的迁移、管理和部署工作。管理员可以通过命令行脚本运行Web部署工具,
同步IIS6.0和IIS7.0服务器或将IIS6.0服务器迁移到IIS7.0。利用Web部署工具,管理员和委派的用户还可使用IIS管理器将ASP.NET和PHP应用程序部署到IIS7.0服务器。
Web Deploy特点
(1) 在IIS6.0和IIS7.0之间轻松迁移Web应用程序
通过在过程开始前确定不兼容性和预览建议的更改,简化IIS6.0到IIS7.0的迁移规划。通过提前了解任何潜在问题,您即可采取正确的措施并简化迁移。
(2) 高效同步服务器场
利用Web部署工具,通过检测源与目标内容之间的差异并仅传输那些需要同步的更改,可以在IIS7.0服务器场中高效同步网站、应用程序或服务器。
该工具通过自动确定要同步的特定网站的配置、内容、数据库和证书,简化同步过程。除了默认行为,您还可以选择为同步指定其他提供程序,包括COM、GAC和注册表设置。
(3) 更轻松地打包、存档和部署Web应用程序
Web部署工具使您能够打包已安装的Web应用程序的配置和内容(包括SQL数据库),并使用包进行存储或重新部署。可以使用IIS管理器部署这些包,而且无需管理员特权。
该工具也集成到VisualStudio2010,帮助开发人员简化将Web应用程序部署到Web服务器的工作。
前提准备
完整安装Microsoft Web Deploy 3 下载页面:WebDeploy_amd64_zh-CN.msi
msdeploy 同步站点
命令所在目录C:\Program Files\IIS\Microsoft Web Deploy V3>
msdeploy配置backup信息
查看backup配置信息
命令:.\msdeploy.exe -verb:dump -source:backupSettings=iis站点的名字 -xml
返回信息如:
配置backup信息
(1) 以管理员身份打开powershell,进入路径%programfiles%\IIS\Microsoft Web Deploy V3\scripts\
(2) 加载BackupScripts.ps1(加载ps脚本,使用. .\BackupScripts.ps1
)
(3) 根据需要执行以下命令
. .\BackupScripts.ps1
TurnOn-Backups -On $true
Configure-Backups -Enabled $true
Configure-Backups -BackupPath "{SitePathParent}\snapshots\{siteName}"
Configure-Backups -ContinueSyncOnBackupFailure $false
Configure-Backups -NumberOfBackups 10
pause
执行后
注:
完整安装Microsoft Web Deploy 3后,在指定目录并未发现BackupScripts.ps1文件?
windows 系统角色与功能未启用iis的管理工具-管理服务,开启后重新安装Web Deploy即可
查看Test的msdeploy配置(Test是iis的节点名称)
执行命令:.\msdeploy.exe -verb:dump -source:backupSettings=Test -xml
手动备份
查看Test的msdeploy备份
执行命令: .\msdeploy.exe -verb:dump -source:backupManager=test
还原指定版本
执行命令: .\msdeploy.exe -verb:sync -source:backupManager -dest:backupManager=Test/msdeploy_2020_12_20_03_22_04.zip
用VS发布时, 注意是否已启用备份
msdeploy公共设置
公共设置(可用于所有提供程序)
- computerName=<名称> 远程计算机的名称或代理 URL
- wmsvc=<名称> 用于 Web 管理服务(WMSvc)的远程计算机的名称或代理 URL。假设服务正在侦听端口8172。
- authtype=<名称> 要使用的身份验证方案。默认设置为“NTLM”。如果指定了wmsvc选项,则默认设置为“基本”。
- userName=<名称> 远程连接时用于身份验证的用户名(如果使用“基本”身份验证,则为必填项)。
- password=<密码> 用于远程连接的用户密码(如果使用“基本”身份验证,则为必填项)。
- storeCredentials=<目标> 用户名和密码将存储在 Windows 凭据管理器中的目标标识符下。
- getCredentials=<目标> 目标标识在连接到远程计算机时要使用的 Windows凭据管理器中的凭据(用户名和密码)。
- encryptPassword=<密码> 用于加密/解密任何安全数据的密码。
- includeAcls=<布尔值> 如果为 True,则在操作中包括 ACL (适用于文件系统、注册表和元数据库)。
- tempAgent=<布尔值> 在远程操作期间,暂时安装远程代理。
- publishSettings=<文件路径> 包含远程连接信息的发布设置文件的文件路径。