将TFS 2015 GIT同步到VSTS GIt

时间:2018-06-20 14:42:00

标签: git tfs azure-devops

我们有TFS 2015 Git,并正在寻找用于将onprem TFS GIT中的所有更改同步到VSTS Git的选项。您能提出一些关于如何实现它的想法吗?

我想到的选项:-

1)每次签入时,将服务器端插件写入git push到VSTS 2)在TFS构建后的步骤中,将git push到VSTS

(每次签入时,想法都是将更改同步到VSTS GIT)

谢谢

1 个答案:

答案 0 :(得分:1)

要将TFS 2015 git repo自动同步到VSTS git repo,只需在TFS2015或VSTS中构建CI即可

例如使用TFS 2015中的CI构建来自动同步VSTS存储库,您可以按照以下步骤操作:

1。在TFS 2015中创建配置项构建

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

enter image description here

2。添加PowerShell任务以将TFS2015 git repo同步到VSTS

使用以下脚本在构建定义中添加PowerShell任务:

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

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

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