如何解压缩msbuild Web程序包而不将其部署到Web服务器?

问题描述 投票:1回答:1

当MSBuild打包ASP.Net网站时,它将创建一个.zip文件和一组xml文件。使用msdeploy,我可以将该zip文件和一组参数替换项推送到IIS服务器。

现在,这是个难题:给定Web Package zip文件,是否可以解压缩它并完全替换令牌[部署到IIS?只需将其解压缩到文件夹并应用SetParameters.xml,以便可以将其自动复制到文件系统位置?

Msdeploy的参数至少可以说是不透明的。我曾尝试使用文件和文件夹提供程序进行部署,但这不起作用。

我可以自己动手-我必须对令牌替换逻辑进行反向工程,并处理zip文件如何将整个文件夹树包含到驱动器根目录(而不是项目文件夹的相对路径,是部署时将使用的内容)。所有这些都是可行的……但是非常烦人,我希望有更好的方法。

提前感谢。

asp.net msbuild msdeploy
1个回答
0
投票
跟踪此内容:最后,我必须在powershell中进行此操作。该代码与公司特定的其他部署代码捆绑在一起,因此我不能在此处粘贴它,但总之:

    将.zip解压缩到一个临时位置。
  1. 递归目录,直到找到packagetmp-这是zip的实际内容。
  2. 删除网络服务器上的目标Web应用程序文件夹(
  3. 仔细地-在此步骤之前,需要进行尽可能多的健全性检查)] >>将packagetmp的内容复制到Web服务器上的目标文件夹路径。
  4. 应用xpath操作在powershell中进行配置转换以提供连接字符串和日志记录端点。
  5. 重新启动应用程序池(如果执行此操作,请不要跳过此步骤,否则会出现细微的故障)。
  6. 清理(删除临时文件夹)。
© www.soinside.com 2019 - 2024. All rights reserved.