当部署代理运行组件时如何控制 Release Management 复制的文件
How to control the files that Release Management copies when the Deployment Agents runs a Component
我正在使用 MS Release Management 和基于代理的部署。我的模板通常在一个模板中部署一个网站和一个数据库。我还在发布模板中使用的清单中添加了一些脚本。
我注意到,对于我添加的一些内置组件和脚本,RM Server 将整个 TfsBuidDrop 复制到目标服务器上部署代理的工作区,对于模板。
例如,发布数据库的组件是一个简单的工具,它使用数据库的 .dacpac 更新数据库。该组件配置为使用 .dacpac 文件和一些其他参数来执行此操作。如果我查看目标服务器上的 RM 代理工作区,我会看到整个 TfsBuildDrop 文件夹被复制到该组件的工作区,即使代理只需要一个 .dacpac 文件。
我注意到我为正在使用的脚本创建的组件有相同的行为。正在将整个 TfsBuildDrop 文件夹复制到发布模板中每个组件的目标服务器。
有没有办法限制RM Server拷贝到Target server的文件数?对于我的一些发布模板,每次部署都会将整个 build-drop 文件夹复制到服务器 5-6 次。
这更多是关于如何组织构建的问题。如果您在组件中指定 \
作为组件二进制文件的路径,它将递归复制整个构建放置文件夹。这是 100% 的设计。
编写一个快速的 Powershell 脚本,运行 将其作为 post 构建步骤,例如将 *.dacpac 复制到 \DACPAC\
文件夹。然后你可以将你的组件指向那个文件夹,它只会复制那些文件。
我正在使用 MS Release Management 和基于代理的部署。我的模板通常在一个模板中部署一个网站和一个数据库。我还在发布模板中使用的清单中添加了一些脚本。
我注意到,对于我添加的一些内置组件和脚本,RM Server 将整个 TfsBuidDrop 复制到目标服务器上部署代理的工作区,对于模板。
例如,发布数据库的组件是一个简单的工具,它使用数据库的 .dacpac 更新数据库。该组件配置为使用 .dacpac 文件和一些其他参数来执行此操作。如果我查看目标服务器上的 RM 代理工作区,我会看到整个 TfsBuildDrop 文件夹被复制到该组件的工作区,即使代理只需要一个 .dacpac 文件。
我注意到我为正在使用的脚本创建的组件有相同的行为。正在将整个 TfsBuildDrop 文件夹复制到发布模板中每个组件的目标服务器。
有没有办法限制RM Server拷贝到Target server的文件数?对于我的一些发布模板,每次部署都会将整个 build-drop 文件夹复制到服务器 5-6 次。
这更多是关于如何组织构建的问题。如果您在组件中指定 \
作为组件二进制文件的路径,它将递归复制整个构建放置文件夹。这是 100% 的设计。
编写一个快速的 Powershell 脚本,运行 将其作为 post 构建步骤,例如将 *.dacpac 复制到 \DACPAC\
文件夹。然后你可以将你的组件指向那个文件夹,它只会复制那些文件。