我正在使用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分钟来下载工件。
有没有办法阻止这种情况?
答案 0 :(得分:9)
发布管理会下载您默认选择的构建定义发布的所有工件。目前还没有任何设置可供配置。您可以在VSTS User Voice上提交功能请求。
答案 1 :(得分:3)
我不知道它是否在TFS 2015 Update 2发布管理中可用,因为我们已经转移到更新3,但是使用Update 3,您可以在环境级别设置它。
我无法访问TFS 2015 Update 2,因此您必须尝试一下。 执行此操作后,您可以添加任务以手动复制所需的工件文件。
答案 2 :(得分:2)
刚刚发布。 VSTS和TFS 2018具有可满足您需求的新功能
以前,作为部署阶段的一部分,您可以选择下载所有工件或全部跳过它们。现在您可以选择需要下载的工件。这可以通过确保代理只需下载所需内容来节省时间。有关更多信息,请参阅发行工件文档。根据建议优先考虑此功能。
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)