【问题标题】:Add additional mappings to Get Sources at runtime (Azure DevOps pipeline - TFVC)在运行时添加其他映射以获取源(Azure DevOps 管道 - TFVC)
【发布时间】:2020-06-27 11:17:54
【问题描述】:

是否可以在运行时向 Get Sources 添加额外的映射?
就像在 prejobexecution 任务中一样?

我们目前正在使用 Powershell 脚本,该脚本根据迭代、区域和不同的业务需求确定要设置哪些附加映射,将它们映射到当前工作区,然后运行 ​​tf get。
这可行,但是,来自其他映射的变更集和工作项未链接到运行。

我们还尝试了另一种方法,其中“启动器”管道运行脚本并修改另一个管道(更新 tfvcMapping),然后使用构建完成触发器调用它。
所有变更集和工作项都是链接的,但是,这种方法似乎并不正确。

【问题讨论】:

  • 这个问题怎么样?下面的答案是否解决了您的问题,如果是,您可以 Accept it as an Answer ,这样它可以帮助遇到同样问题的其他社区成员,我们可以存档这个帖子,谢谢。如果没有,请告诉我们您是否需要进一步的帮助。

标签: azure-devops azure-pipelines tfvc


【解决方案1】:

添加其他映射以在运行时获取源(Azure DevOps 管道 - TFVC)

我之前遇到过一个和你非常相似的问题(我使用 git)。就个人而言,我更喜欢您的第二种解决方案,它以额外管道为代价保存所有链接信息(变更集和工作项)。

对于第一种方式,正如你测试的那样,我们会丢失一些相关信息,这不是我们所期望的。虽然我们可以使用checkout 命令获取最新的changesets,但我们不能简单地为workitems 完成它,因为它是由 Azure devops 完成的。我们很难通过changesets获取关联的workitems并将它们与我们的构建关联。

我的解决方案,我们创建一个管道(如你所说的starter-pipeline)来调用 REST API Definitions - Update 来更新另一个管道的获取源,然后添加构建完成触发器:

PUT https://dev.azure.com/{organization}/{project}/_apis/build/definitions/{definitionId}?api-version=5.1

在此处查看similar request body

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    相关资源
    最近更新 更多