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

RMD*_*RMD 11 tfs ms-release-management tfs-2015 azure-devops

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

/Drop
--> /App 1
--> /App 2
--> /App 3
Run Code Online (Sandbox Code Playgroud)

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

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

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

有办法防止这种情况吗?

Edd*_*SFT 9

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

  • 完成.谢谢.https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/13396200-only-download-artifacts-required-for-task-executio (2认同)

Ark*_*e55 5

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

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

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

  • 我可以确认 TFS 2017 具有此功能。在您的版本和您的任务所在的环境中,如果您单击“在代理上运行”,实际上有一个选项集。在附加选项下是“跳过工件下载”的复选框。我知道这个问题是专门针对 VSTS2015 的,但希望这些信息对像我这样在 2017 年努力寻找选项的人有用。 (4认同)