[英]Remote TFS 2015 to Azure Devops (private cloud) Migration
我當前的組織要求將源代碼+歷史鏈接從位於遠程站點的供應商TFS 2015遷移到我們的Azure Devops(Repos)。 我面臨的挑戰是,由於源TFS位於遠程站點中,並且未通過我們的AD連接,因此找不到鏈接它的方法。 當前,我們正在使用顯式登錄名登錄其tfs並獲取代碼。 是否有任何可能的方法來遷移它們,並每天進行同步,持續幾個月,並拔掉對遠程的依賴關系。
任何幫助將非常感激..
不確定您提到的Azure DevOps(Repos)是Azure DevOps Service(VSTS之前的版本)還是Azure DevOps Server 2019(TFS之前的版本)在您的情況下,您似乎只想在TFS2015與Azure DevOps服務或Azure DevOps之間執行源代碼同步服務器。
對於Azure DevOps Service:當您決定從Azure DevOps Server遷移到Azure DevOps Services時,有許多方法可以做到這一點,這些方法在數據傳輸的保真度和過程的復雜性上都各不相同。
在遷移過程中,只有option2將包括源代碼管理歷史記錄。 但是它也有一些限制,例如導入工具支持的版本。 當前僅支持導入以下版本的Azure DevOps Server:Azure DevOps Server 2019和Azure DevOps Server 2019.0.1
在您的方案中,您可以在TFS2015中使用CI構建來自動同步Azure DevOps存儲庫。 這里最大的挑戰是TFS和Azure DevOps Service的身份驗證。 就像您提到的那樣,使用顯式登錄名和powershell腳本應該可以完成工作。
供您參考的樣本:
在托管git repo的TFS 2015項目中->使用TFS 2015 git repo作為存儲庫創建構建定義->啟用包含所有分支的CI。
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在Azure DevOps Service git repo URL中進行身份驗證。 您只需要替換URL https://Personal%20Access%20Token:{PAT}@marinaliu.visualstudio.com/{project}/_git/{repo}
的真實PAT,帳戶名, https://Personal%20Access%20Token:{PAT}@marinaliu.visualstudio.com/{project}/_git/{repo}
。
保存構建定義,現在在TFS 2015 git repo中更新任何分支時,將自動為相應分支同步VSTS git repo。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.