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

时间:2016-04-11 21:26:04

标签: tfs azure-devops tfs2015 ms-release-management

我正在使用TFS 2015 Update 2发布管理(即"发布"标签),并且我的构建将所需的输出放在文件共享放置位置。它看起来像:

Generic.Metrics.CyclomaticComplexity

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

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

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

有没有办法阻止这种情况?

4 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:3)

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

  1. 在环境定义上,单击elipsis(...)
  2. 选择菜单选项"配置变量..."
  3. 在对话框窗口中选择" General"标签
  4. 切换复选框"跳过工件下载"
  5. 我无法访问TFS 2015 Update 2,因此您必须尝试一下。 执行此操作后,您可以添加任务以手动复制所需的工件文件。

答案 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}

答案 3 :(得分:0)

  1. 编辑适当的发布管道
  2. 查看适当环境的舞台任务
  3. 选择主要的Agent作业,应该可以进行一系列配置
  4. 滚动到工件下载部分
  5. 选择是否下载工件