本文為您介紹使用Codeup-CLI工具批量遷移本地已有程式碼程式庫Git資料,削減企業遷移成本,最小化對業務的影響。
一、前提條件
操作前,請確認工具已安裝並運行正常,參見安裝遷移工具。
二、遷移準備
本工具可以協助你進行本地程式碼程式庫Git資料的批量遷移,包括原始碼、分支、提交、標籤資訊。
在正式遷移生產庫前,建議使用非正式庫進行試遷移,保障配置正確後正式遷移。
在遷移操作時建議控制本地程式碼程式庫的庫變更和寫入行為,一旦倉庫遷移成功後,重複遷移不會重新整理變更的代碼資料,即本地庫的新增內容不會更新至Codeup。
三、定義遷移設定檔
設定檔主要用於配置遷移來源、遷移目標和遷移範圍,其中 HTTP 或 SSH 複製二選一填寫即可。
source - 源平台參數配置 | 是否必填 | 參數說明 |
platform | 必填 | 請填寫 "local"。 |
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: "local"
target:
host: "https://***.devops.alibabacloudcs.com"
# 個人存取權杖,需要有代碼倉庫、程式碼群組的讀寫權限
accessKey: "pt-******03GFpdmIedUgug****_******-3734-484a-9b4b-248569f78c9d"
localSSHKeyPath: "/Users/****/.ssh/id_rsa"
# projectListPath 指定步驟四裡遷移庫範圍檔案路徑;
projectListPath: "projects.csv" 四、定義遷移程式碼程式庫範圍
您需要告知遷移工具要遷移的程式碼程式庫列表範圍,這需要一個設定檔。
可以通過以下命令,產生遷移庫範圍的設定檔,檔案需要和步驟三中 projectListPath 指定路徑一致:
./codeup-cli import --gen project命令執行完成後會在目前的目錄下產生一個projects.csv的設定檔,開啟檔案,其內容格式是每一行都是[本地倉庫絕對路徑],[Codeup程式碼程式庫相對路徑],[Codeup程式碼程式庫可見度],樣本如下:
#本地倉庫絕對路徑,Codeup程式碼程式庫相對路徑(支援嵌套多級目錄),Codeup程式碼程式庫可見度
/Users/my/Downloads/groupname/demo,groupname/demo,10其中程式碼程式庫可見度 0 表示公開性為「私人」,10 表示公開性為「企業內公開」。若自訂時輸入任意非 0 的數字將被自動轉換為 10,即企業內公開。
至此,您明確了遷移的程式碼程式庫範圍。
五、執行遷移
請確認工作目錄下的遷移設定檔、程式碼程式庫範圍檔案和程式碼程式庫檔案夾已準備完畢後,通過以下命令啟動執行遷移:
./codeup-cli import --run true --config=./config.yaml
# 遷移過程中會展示遷移的細節,如果有問題會顯示報錯資訊如Git資料移轉失敗,該庫狀態為遷移失敗。
若重複執行匯入,歷史已匯入成功的程式碼程式庫將提示已存在跳過執行,未匯入成功的程式碼程式庫可繼續嘗試匯入。
工具執行完後,如果一切正常,您便可以前往Codeup組織查看已遷移的程式碼程式庫資訊,確認遷移無誤。
遷移過程中遇到無法處理的問題,請添加DingTalk群諮詢支援人員:32027065。