首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程TFS 2015到Azure Devops (私有云)迁移

远程TFS 2015到Azure Devops (私有云)迁移
EN

Stack Overflow用户
提问于 2019-08-26 12:29:50
回答 1查看 196关注 0票数 0

我目前的组织需要将源代码+历史链接从位于远程站点的供应商TFS 2015迁移到我们的Azure Devops(Repos)。我面临的挑战是,由于源TFS位于远程站点,并且没有通过我们的AD连接,所以无法找到链接它的方法。目前,我们正在使用对他们的tfs的明确登录并获取代码。是否有任何可能的方法来迁移相同的,并每天进行同步,持续几个月,并取消对远程的依赖。

任何帮助都将不胜感激..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-27 08:09:33

不确定您提到的Azure DevOps(Repos)是Azure DevOps服务(优先DevOps服务)还是Azure DevOps server 2019(优先服务),似乎您只是想在TFS2015到Azure DevOps服务或Azure DevOps服务器之间执行源代码同步。

对于Azure DevOps服务:当您决定从Azure DevOps服务器迁移到Azure DevOps服务时,可以使用许多方法来完成这些操作,这在数据传输的保真度和流程的复杂性上都有所不同。

  • 选项1:手动复制最重要的资产
  • 备选方案2:高保真度数据库迁移
  • 选项3:使用基于公共API的工具进行高保真度迁移

在迁移过程中,只有option2将包括源代码管理历史记录。但是它也有一些限制,比如导入工具支持的版本。目前只支持以下版本的Azure DevOps服务器进行导入: Azure DevOps Server 2019和Azure DevOps Server 2019.0.1

在您的场景中,您可以使用TFS2015中的CI构建来自动同步Azure DevOps回购。这里最大的挑战是TFS和Azure DevOps服务的身份验证。正如您所提到的,使用显式登录和powershell脚本应该可以完成这项工作。

供您参考的样品:

1.在2015年TFS中创建CI构建

在您的TFS 2015项目中,git托管了->,创建了一个构建定义,TFS 2015 git作为存储库,->启用CI并包含所有分支。

2.添加一个PowerShell任务来同步TFS2015 git到Azure DevOps服务,在构建定义中添加一个PowerShell任务,脚本如下:

代码语言:javascript
复制
if ( $(git remote) -contains 'vsts' )
{
    git remote rm vsts 2>&1|Write-Host
    echo 'VSTS Account removed'
}


git remote add vsts https://Personal%20Access%20Token:{PAT}@{account}.visualstudio.com/{project}/_git/{repo}

git checkout ${env:BUILD_SOURCEBRANCHNAME} 2>&1|Write-Host
git reset --hard origin/master 2>&1|Write-Host
echo 'update local branch with remote successfully'
git push  vsts ${env:BUILD_SOURCEBRANCHNAME} -f 2>&1|Write-Host

注意:远程应该添加凭据。并且它使用PAT在Azure DevOps服务git中进行身份验证。您只需替换URL https://Personal%20Access%20Token:{PAT}@marinaliu.visualstudio.com/{project}/_git/{repo}中的真实PAT、帐户名称、项目名称和reponame即可。

保存构建定义,现在在TFS 2015 git repo中更新任何分支时,将自动同步相应分支的VSTS git。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57657952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档