如何将 VSTS 构建和发布定义从一个实例移动到另一个实例?
Posted
技术标签:
【中文标题】如何将 VSTS 构建和发布定义从一个实例移动到另一个实例?【英文标题】:How to move VSTS build and release definitions from one instance to another instance? 【发布时间】:2018-05-10 12:56:10 【问题描述】:我们有许多 VSTS 实例,我们正在尝试将多个 VSTS 实例合并为 1。为此,我们需要将所有构建和发布定义移动到一个特定实例。请帮我解决这个问题。我想要程序如何继续这个。我从谷歌尝试但没有得到任何解决方案。请帮帮我。我是 VSTS 的新手。
【问题讨论】:
如果您要移动的构建/发布定义较少,您还可以使用网页中的功能导出/导入构建和发布定义。 【参考方案1】:最简单的方法是使用REST APIs。
首先,确保两个实例都安装了相同的构建/发布任务扩展。
那么,这个过程将是:
检索构建定义 更新构建定义以在目标实例中使用适当的代理队列 导入构建定义并记下构建定义 ID 对所有构建定义重复 检索发布定义 更新版本中的每个环境以在目标实例中使用适当的代理队列 更新工件以指向适当的、新导入的构建定义(使用上一步中的 ID) 导入发布定义 对所有版本定义重复您可能还需要更新审批者或类似的东西。基本上,这将是一个反复试验的过程。
【讨论】:
,我不明白你在这里告诉的程序。我刚刚浏览了 RestAPI 页面,我需要捕获或遵循什么样的数据?请向我解释一下,因为我是 REST API 的新手还有..【参考方案2】:您可以导出构建并导出版本。
导出构建定义
导出版本定义
在您的目标团队项目中,您可以导入导出的文件。
导入构建定义
在构建中心:
导入发布定义
请注意,导入后,您需要将您的版本指向正确的工件,但这只是一小步,只需更改工件以使用新工件。
【讨论】:
如果我导入另一个 VSTS 实例,导出的 Json 文件中的旧 VSTS URL 仍然存在,并且我们还需要删除一些其他设置。如果我们不删除这些东西,新的 VSTS 实例不是允许导入它。抛出像json文件这样的错误无效。请再次导出Json文件并导入它。所以这里的问题是任何想法如何轻松地将构建和发布定义从一个VSTS实例导入和导出到另一个实例而不修改Json 文件。 如果不进行一些修改,按照我解释的方式进行,这是不可能的。但是考虑一下你会这样做多少次。如果它是一项重复性任务,那么自动化它会更好,但你可以花更多的精力来构建你的自动化。如果这是一次性工作,那么只需更改 json 就可以减少工作量。以上是关于如何将 VSTS 构建和发布定义从一个实例移动到另一个实例?的主要内容,如果未能解决你的问题,请参考以下文章