在Azure Devops和TFS中,是否可以在与原始代码存储库不同的集合中创建构建工件和发布定义

52次阅读
没有评论

问题描述

在Azure Devops和TFS中有一个需求,希望在一个集合(Collection 1)中拥有代码存储库,并且使用这个代码存储库在另一个集合(Collection 2)中创建构建工件和发布定义。用户想知道是否有可能实现这个需求。

解决方案

请注意以下操作注意版本差异及修改前做好备份。
根据回答数据,我们可以得出以下解决方案:

解决方案1

在Azure DevOps和TFS中,集合(Collection)是数据分离的最高级别,即具有单独的物理数据库。因此,如果要在Collection 2中创建构建工件和发布定义,需要将Collection 1中的代码存储库视为外部存储库,而不是尝试将其视为已知的内部存储库。
在Collection 2的构建流水线中,可以通过选择”External Git”(如果存储库是Git,不支持TFVC),然后点击”Add Connection”并输入Git存储库的URL和登录凭据来实现这一点,如下面的截图所示。一旦连接成功,如果流水线生成工件,它们将存储在Collection 2中,可以用于发布流水线。
在Azure Devops和TFS中,是否可以在与原始代码存储库不同的集合中创建构建工件和发布定义

解决方案2

在Azure DevOps中,没有集合(Collection)的概念,而是有项目(project)和组织(organization)的概念。项目可以包含在组织中,一个组织可以包含零个或多个项目。此外,代码存储库、构建和发布机制之间也有区别。
在构建流水线中,完全可以引用不同项目的存储库,并将其拉入构建中。这个存储库可以是GitHub、Gitlab或另一个VSTS组织中的存储库。在发布中,完全可以包含来自多个构建流水线的构建工件。
至于TFS的本地部署版本,它高度依赖于其是否保持最新。最新版本与Azure DevOps的功能相等或接近相等,上述解决方案应该是适用的。在旧版本中可能会有所不同。
根据用户的问题描述,不清楚用户想要实现什么或已经尝试了什么。如果用户能提供更多的信息,我们可以给出更具体的解决方案。

正文完