首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebDeploy:合并内容

WebDeploy:合并内容
EN

Stack Overflow用户
提问于 2016-02-20 14:43:50
回答 1查看 774关注 0票数 3

我有两个构建(在TeamCity中):

使用WebAPI为网站生成后端的人。

我将该网站与WebDeploy打包如下:

/p:DeployOnBuild=True /p:PublishProfile="Default" /p:ProfileTransformWebConfigEnabled=False

它给了我一个不错的WebDeploy.zip

现在我有了第二个构建,它构建并编译了一个网站前端。

前端和后端由不同的团队开发,因此在不同的时间产生工件。

我希望能够部署前端合并的后端版本。

现在我有两个选项,要么使用前端的依赖关系重建后端(这会创建一个新的不需要的构建),要么其他的选项(这正是我真正想要的)。

我想,给定一个web部署包,合并到前端的文件中,将网站部署到IIS。

现在我可以手动解压缩webdeploy并手动重新构建它。但是,其中的路径是基于构建它的位置的路径(我对此没有控制权)。

示例:C_C\TeamCity\...blabla...\obj\Release\Package\PackageTmp\Web.config

这使得在不解析在archive.xml包根目录中找到的WebDeploy时很难找到结构。

这是可能的,但理想情况下,我想要一个MSBuild命令,允许我将目录的内容“合并”到这个网站中。

问题:

  1. 这与MSDeploy是可能的吗?
  2. 如果不可能,是否可以在WebDeploy包中更改目录命名,以便在我想注入附加文件时使用更简单的方法?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-21 03:15:04

可以使用dirPath提供程序将包部署到本地目录,添加文件,然后重新打包。首先,您需要创建目标清单,因为WebDeploy使用源清单创建包。您可以创建一个包含以下内容的"DestManifest.xml“文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<sitemanifest>
  <dirPath path="c:\repackagewebdeploy" />
  <auto />
  <auto />
</sitemanifest>

然后,您可以调用MSDeploy来解压缩和重新打包。

代码语言:javascript
复制
msdeploy -verb:sync -source:package=c:\packagePath\package.zip -dest:manifest=[path to destination manifest]
[copy files]
msdeploy -verb:sync -source:dirPath=c:\repackagewebdeploy -dest:package=c:\packagePath\newPackage.zip 

这假设您不需要其他setAcl提供程序。我们通常不需要它们,所以我忽略它们,但是您可以使用清单将它们添加回最终包中,而不是直接使用dirPath。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35524799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档