使用版本管理时防止不必要的工件下载

问题描述 投票:10回答:4

我正在使用TFS 2015 Update 2发布管理(即“发布”选项卡),我的构建将所需的输出放在文件共享放置位置。它看起来像:

/Drop
--> /App 1
--> /App 2
--> /App 3

我的发行版定义有一个Powershell任务来部署每个应用程序。这很好用,因为上面的每个应用程序(App 1,App 2,App 3)都被定义为他们自己的工件,当我在找到要执行的powershell脚本时调出Linked Artifacts对话框时,我得到了很好的路径选择。

问题是当VSOAgent在给定的部署服务器上进行部署时,它会为整个版本定义下载所有链接的工件 - 无论它们是否被使用。因此,如果我有一个引用App 1的Powershell任务,我也会下载App 2和App 3。

在我的例子中,我的构建产生了许多工件,其中只有20%被部署到任何给定的环境中。所以我下载了一些我不需要的东西。实际上,这意味着应该采取的措施(并且DID采用旧版本管理)或许5分钟现在需要20分钟才能下载工件。

有办法防止这种情况吗?

tfs azure-devops tfs2015 ms-release-management
4个回答
9
投票

发布管理下载默认情况下选择的构建定义发布的所有工件。目前没有任何设置可以配置它。您可以在VSTS User Voice上提交功能请求。


4
投票

我不知道它是否在TFS 2015 Update 2 Release Management中可用,因为我们已经转移到更新3,但是使用Update 3,您可以在环境级别设置它。

  1. 在环境定义上单击省略号(...)
  2. 选择菜单选项“配置变量...”
  3. 在对话框窗口中,选择“常规”选项卡
  4. 切换复选框“跳过工件下载”

我无法访问TFS 2015 Update 2,因此您必须尝试一下。执行此操作后,您可以添加任务以手动复制所需的工件文件。


2
投票

不久前放出。 VSTS和TFS 2018具有可满足您需求的新功能

以前,作为部署阶段的一部分,您可以选择下载所有工件或全部跳过它们。现在您可以选择需要下载的工件。这可以通过确保代理只需下载所需内容来节省时间。有关更多信息,请参阅发行工件文档。根据建议优先考虑此功能。

https://docs.microsoft.com/en-us/visualstudio/releasenotes/tfs2018-update2#improve-release-times-by-partially-downloading-artifacts

https://visualstudio.uservoice.com/forums/330519-visual-studio-team-services/suggestions/13396200-only-download-artifacts-required-for-task-executio?tracking_code=200f3ad38ab610cdbbdbb2afa5a9b7a5# {} toggle_previous_statuses


0
投票
  1. 编辑适当的发布管道
  2. 查看适当环境的阶段任务
  3. 选择主代理作业,应该有一系列配置可用
  4. 滚动到“神器下载”部分
  5. 选择要下载的工件
© www.soinside.com 2019 - 2024. All rights reserved.