本文為您介紹使用Codeup-CLI工具對常見三方平台如Github、Gitee、Coding 等提供了程式碼程式庫 Git資料批量遷移服務,削減企業遷移成本,最小化對業務的影響。
一、前提條件
操作前,請確認工具已安裝並運行正常,參見安裝遷移工具。
二、遷移準備
本工具可以協助您進行三方程式碼程式庫Git資料的批量遷移,包括原始碼、分支、提交、標籤資訊。
在正式遷移生產庫前,建議使用非正式庫進行試遷移,保障配置正確後正式遷移。
在遷移操作時建議控制三方程式碼程式庫的庫變更和寫入行為,一旦倉庫遷移成功後,重複遷移不會重新整理變更的代碼資料,即三方庫的新增內容不會更新至Codeup。
三、定義遷移設定檔
設定檔主要用於配置遷移來源、遷移目標和遷移範圍,其中 HTTP 或 SSH 複製二選一填寫即可。
source - 源平台參數配置 | 是否必填 | 參數說明 |
platform | 必填 | 請填寫 "common"。 |
username | 如用HTTP複製必填 | 三方平台可用於HTTP複製的使用者名稱。 |
password | 如用HTTP複製必填 | 三方平台可用於HTTP複製的密碼。 *注意GitHub需要使用者名稱/Token,已不支援使用登入密碼。 |
localSSHKeyPath | 如用SSH複製必填 | 三方平台已配置的 SSH key 對應的本地私密金鑰 key 路徑,注意填寫完整路徑,如 /Users/my/.ssh/id_rsa。 具體路徑請根據實際本機私密金鑰存放路徑填寫。 |
target - 目標平台參數配置 | 是否必填 | 參數說明 |
host | 必填 | 雲效網域名稱,如https://***.devops.alibabacloudcs.com。 |
accessKey | 必填 | 具有代碼倉庫和程式碼群組讀寫許可權的有效個人存取權杖,擷取個人存取權杖。 |
username | HTTP複製必填 | Codeup 可用於HTTP複製的使用者名稱。 |
password | HTTP複製必填 | Codeup 可用於HTTP複製的密碼。 |
localSSHKeyPath | SSH複製必填 | Codeup 已配置的 SSH key 對應的本地私密金鑰 key 路徑,注意需填寫完整路徑,如 /Users/my/.ssh/id_rsa。 具體路徑請根據實際本機私密金鑰存放路徑填寫。 |
以 SSH 方式為例,簡化的設定檔config.yaml內容為:
# 必填版本號碼v2,用於標識當前配置版本
version: "v2"
import:
source:
platform: "common"
localSSHKeyPath: "/Users/****/.ssh/id_rsa"
target:
# 雲效訪問網域名稱
host: "https://***.devops.alibabacloudcs.com"
# 個人存取權杖,需要有代碼倉庫、程式碼群組的讀寫權限
accessKey: "pt-******03GFpdmIedUgug****_******-3734-484a-9b4b-248569f78c9d"
localSSHKeyPath: "/Users/****/.ssh/id_rsa"
# projectListPath 指定步驟四裡遷移庫範圍檔案路徑;
projectListPath: "/Users/****/workspace/projects.csv"
# workDir 指定遷移的工作目錄路徑,遷移完成後將自動清理目錄;
workDir: "/Users/****/workspace" 四、定義遷移程式碼程式庫範圍
您需要告知遷移工具要遷移的程式碼程式庫列表範圍,需要一個設定檔。
可以通過以下命令,產生遷移庫範圍的設定檔,檔案需要和步驟三中 projectListPath指定的路徑一致。
./codeup-cli import --gen project 命令執行完成後會在目前的目錄下產生一個projects.csv的設定檔,開啟檔案,其內容格式是每一行都是[三方程式碼程式庫全路徑],[Codeup程式碼程式庫相對路徑],[Codeup程式碼程式庫可見度],樣本如下:
#GitHub程式碼程式庫完整路徑,Codeup程式碼程式庫相對路徑(支援嵌套多級目錄),Codeup程式碼程式庫可見度
https://github.com/namesapce/demo.git,namesapce/demo,10
#Gitee程式碼程式庫完整路徑,Codeup程式碼程式庫相對路徑,Codeup程式碼程式庫可見度
https://gitee.com/namesapce/demo.git,namesapce/demo,10
#Coding程式碼程式庫完整路徑,Codeup程式碼程式庫相對路徑,Codeup程式碼程式庫可見度
https://e.coding.net/namesapce/demo.git,namesapce/demo,10
其中程式碼程式庫可見度 0 表示公開性為「私人」,10 表示公開性為「組織內公開」。若自訂時輸入任意非 0 的數字將被自動轉換為 10,即組織內公開。
使用時請將檔案中的樣本資料刪除,替換成實際地址。
至此,您明確了遷移的程式碼程式庫範圍。
五、執行遷移
即將完成遷移,請您確認目前工作目錄下2個設定檔(遷移設定檔、程式碼程式庫範圍檔案)和存放程式碼程式庫的檔案夾已準備完畢後,通過以下命令啟動執行遷移:
./codeup-cli import --run true --config=./config.yaml
# 遷移過程中會展示遷移的細節,如果有問題會顯示報錯資訊如Git資料移轉失敗,該庫狀態為遷移失敗。
若重複執行匯入,歷史已匯入成功的程式碼程式庫將提示已存在跳過執行,未匯入成功的程式碼程式庫可繼續嘗試匯入。
GitHub倉庫依據您當前的網路環境,可能存在複製逾時的情況,如遇逾時失敗,請檢查確保本網環境連通性後再試。
工具執行完後,如果一切正常,您便可以前往Codeup組織查看已遷移的程式碼程式庫資訊,確認遷移無誤。
遷移過程中遇到無法處理的問題,請添加DingTalk群諮詢支援人員:32027065。