iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
DevOps

Azure DevOps Troubleshooting and best practices 系列 第 16

Azure DevOps Migration - Azure Repos 搬移

  • 分享至 

  • xImage
  •  

前言

有別於 Azure Pipeline 搬移過程中具有相依性,Azure Repos 搬移是可以最早搬移而不需要有所顧慮的工作。若使用者的儲存庫為 Git Repository,其實只需要透過 Git 指令即可完整搬移。另一方面,Azure Repos 也提供 import 功能,無論使用者儲存庫在 Azure DevOps(不同組織)、GitHub 或其他私有儲存庫,皆可以透過設定方式將儲存庫複製過來。

 
 

Azure Repos 搬移

透過 Git 指令搬移

Git 指令有所謂鏡像儲存庫 (Mirror the repository) 功能,可以將遠端所有分支與屬性下載自本地端,透過命令提示字元輸入下列指令即可:

使用 Git Clone 是設定遠端資訊最安全也最容易的方式,避免在操作過程中設定錯誤的遠端

git clone --mirror https://xxxxxxx.visualstudio.com/Old-Project/_git/WikiDemo

 

接下來我們將執行 Git 推送指令,將本地端所有變更推送至遠端儲存庫

git push --mirror https://xxxxxxx.visualstudio.com/New-Project/_git/WikiDemo

--mirror 參數在 Clone 和 Push 命令一起使用。 此參數確保所有分支和其他屬性皆複製到新的儲存庫。

 
 

透過 Azure DevOps Portal 使用 UI 介面匯入

另一個方式是透過 UI 介面匯入外部儲存庫,在目標專案點選 Repos,點選上方儲存庫名稱後,選擇 Import Repository,輸入 Git URL 與驗證資訊後,即可匯入儲存庫。

https://ithelp.ithome.com.tw/upload/images/20231001/20091494ssmf2wZLsp.png

https://ithelp.ithome.com.tw/upload/images/20231001/20091494QClCScFtc5.png

 
 

Repository 設定、驗證與安全性

很多開發人員會認為搬移後就可以立即開始開發工作,卻忘了最後一個驗證動作 - 他們仍在舊有儲存庫工作而渾然不知,而到後期才發現推送至錯誤儲存庫,進而花不少時間進行修復。搬移後最重要的事情,即是在目標專案驗證儲存庫是否存在,並確定每位開發人員已經將遠端設定更新至新的儲存庫位置。可以透過下列指令設定新的遠端位置

git remote set-url origin https://xxxxxxx.visualstudio.com/New-Project/_git/WikiDemo

 

最後可以建議在來源專案的儲存庫做刪除 (必須非常小心,因為不能還原) 或透過鎖定分支的方式,避免開發人員持續更新舊有儲存庫。

 

除此之外,平台管理者仍需要去做相關設定確認,確認與原來儲存庫設定相同

  1. Default Branch 設定:根據經驗設定容易跑掉
  2. Branch Polocy 設定:如 Pull Request 設定人數、限制哪些分支...等
  3. 權限 (Security) 設定:確認目標儲存庫授予的權限能符合團隊需求

https://ithelp.ithome.com.tw/upload/images/20231001/20091494qviEQxMrby.png


上一篇
Azure DevOps migration - 如何搬移 Azure Pipeline 至其他專案 (下)
下一篇
Azure Pipeline 進階應用 - 安全檔案
系列文
Azure DevOps Troubleshooting and best practices 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言