【问题标题】:Tasks are removed from TFS Release Definition从 TFS 发布定义中删除任务
【发布时间】:2018-07-29 12:10:43
【问题描述】:

我们是 TFS 2017 Update 3。从 TFS 2017 update 1 升级后开始出现此问题。

而且我们有很多我们自己开发的自定义 TFS 任务。

有时,当用户打开发布定义或定义的发布时,系统会提示用户“未找到任务”,如下所示。

假设用户点击确定。

然后有一个“保存”它的危险选项。保存它会删除任务,并且使用历史还原定义并不容易。

我更想知道为什么会出现这个提示。

【问题讨论】:

  • 我以前没有遇到过这种确切的情况。当扩展的 PublisherId 更改时,我已经看到一些奇怪的事情发生。我联系了 VSTS 团队,看看他们是否有线索或是否可以帮助您。
  • 我确定没有更改 PublisherID.. 但这些任务大部分是在 TFS 更新 1 时开发的.. 问题只有在升级后才存在..

标签: tfs azure-pipelines-release-pipeline azure-devops-extensions


【解决方案1】:

如果有意外的编辑,建议您首先查看发布定义的历史记录。如果有什么东西导致定义发生变化,它应该在那里显示为更新,并可能提供一些关于为什么这些任务消失的线索。

然后还要检查任务列表和相应的构建定义中是否也缺少这些自定义任务。

一种可能性,如果您的自定义任务正在调用您必须指定 api-version 参数的 TFS API。您可能仍在使用错误的版本值。仅在升级 TFS 版本/更新时更新 TFS 安装上的 API 版本。当您使用 TFS 2017 Update 1 时,特定版本的 API 在 TFS 2017 Update 3 中可能不可用。

例如,如果您的任务使用的是旧版本的 REST api。为了兼容性,在将定义发送到客户端之前,将删除其余客户端版本不支持的定义元素。不幸的是,这意味着如果客户端随后保存定义,则其 api 版本不支持的方面将从定义中删除。

您还可以创建一个测试新版本定义,然后添加与旧版本定义相同的任务,以查看问题是否仍然存在。这将缩小与任务本身有关的问题,或者只是一些缓存。对于缓存问题,请按照 Pranay 的建议刷新它。

【讨论】:

  • 我的任务都没有调用任何 TFS API.. 而是它们都管理不同的工具,如 sqlcmd、splpackage、文件.. 问题是间歇性的,当然刷新可以解决它.. 但如果每个人都刷新没关系..但如果有意外保存它,那将是一场噩梦..因为发布 api 仍在预览中..
  • 你的回答把我带到了正确的方向.. 似乎我在将任务上传到 TFS 时使用的是 api 版本.. 必须改变这个看看..
  • @BaskarLingamRamachandran 先生,这个问题有什么更新吗?
  • 这需要一些时间..我需要检查所有利益相关者是否会重新出现..我会等待一段时间才能关闭它..
【解决方案2】:

这应该是一个间歇性问题,刷新应该可以解决它。如果您仍然遇到此问题,您可以将您的 TFS 升级到 TFS 2018,其中已修复此问题。

【讨论】:

    猜你喜欢
    • 2019-01-27
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多