如何将Azure DevOps项目移至其他组织?

时间:2018-11-18 23:33:28

标签: azure-devops

我在一个组织中有一个项目(来自VSTS),我想移到我的新项目中。

我在Azure DevOps中看不到有关迁移项目的任何选项,也看不到互连网上的任何信息。

有人知道怎么做吗?

谢谢

6 个答案:

答案 0 :(得分:9)

如果只需要移动存储库,则可以使用内置的克隆功能:

  1. 转到Azure Devops源存储库->“文件”
  2. 点击“克隆”
  3. 选择“生成Git凭据”

Generate GIT credentials

  1. 在目标Azure DevOps中创建目标存储库
  2. 选择“导入存储库”
  3. 使用第3步
  4. 中的URL和凭据

enter image description here

  1. 完成

答案 1 :(得分:5)

今天不支持此功能。但是计划开发此功能:http://www.frikitrivial.com/end.php

答案 2 :(得分:4)

如果您的Azure Devops项目仅使用单个Git存储库跟踪代码版本,因此没有开发板,用户案例,任务,管道等,则可以执行以下操作:

  1. 克隆您的项目存储库。
    • 例如,使用Visual Studio。
    • 如果您已经有本地存储库,则无需克隆。
  2. 销毁与遥控器的关联。
    • 通常,为此,您需要在包含.git数据库文件夹(最可能是Visual Studio的解决方案文件夹)的文件夹中打开命令行提示符,然后键入git remote rm origin
    • 这是一个使用git bash的示例,显示了解决方案文件夹的内容,包括.git数据库和*.sln Visual Studio解决方案文件: enter image description here
  3. 如果尚未完成,请使用Visual Studio打开解决方案。
    • 现在它应该表明您有许多提交正等待推送到远程。出于说明目的,我的玩具项目总共只有8个提交。 enter image description here
  4. 单击向上箭头,然后在您选择的组织中选择一个新的远程(例如一个全新的Azure DevOps项目),然后按下。
  5. 您现在已经完成了在另一个组织中克隆项目的工作。如果需要,则销毁旧组织中的项目以完成“移动”操作。

答案 3 :(得分:2)

正如@Frederic在他的回答中提到的,我们实际上可以使用Visual Studio轻松地做到这一点。我在没有Visual Studio的情况下完成了此操作。涉及的步骤如下。

  1. 将用户添加到两个组织
  2. 配置SSH密钥
  3. 更新Source DevOps中的SSH密钥并克隆存储库
  4. 查看所有分支和标签
  5. 更新目标DevOps中的SSH密钥
  6. 删除旧的并添加新的原点
  7. 推所有树枝

命令和详细说明可以在here中找到。

答案 4 :(得分:1)

扩展其他人的答案,本文关注管道。

Azure DevOps API

几乎可以跨组织迁移项目的所有方面,但这是使用Azure DevOps API进行的大量手动工作。下面的链接向您显示了所有端点,变量等。从那里,您可能想要编写Power Shell脚本,并对虚拟组织进行几次测试。

https://docs.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-6.1&viewFallbackFrom=azure-devops-rest-6.0

应用内选项

如果您避免使用API​​,则无法迁移保留构建或发布历史记录的管道,但是可以通过进入管道并选择“查看YAML”来保留配置和流程。在这里,您可以将其作为注释在新的组织/项目位置中重新创建GUI步骤,也可以在git存储库中实际采用YAML标准。

我不认为有一种方法可以将管道变量迁移到API之外。但是,您可以将变量移动到Azure Key Vault并将管道设置(YAML)更改为引用来自密钥保险库的值。这不是很大的努力,并且是一个很好的过程改进。

最后,如果您有任何本地安装的发行版管道代理,则需要在包装盒上为新组​​织运行Power Shell脚本。非常简单的5m步骤,但是现在代理池无法在整个组织中共享。

答案 5 :(得分:0)

我知道有 3 个项目可以实现这一目标。

Ops Hub 提供的付费选项 - OpsHub Visual Studio Migration Utility

需要对工作项流程模板进行更改的开源工具 - Azure DevOps Migration tools

最后一个非官方但仍由 Microsoft 编写的用于创建 Azure DevOps 项目模板的工具 - Azure DevOps Demo Generator & extractor tool

使用最后一个(演示生成器),您将项目提取为模板,然后将其应用于新组织。由于它是用于演示的工具,因此不提供任何支持,根据我的经验,它适用于简单的项目,但在任何复杂的项目上都会失败。