本文為您介紹使用Codeup-CLI工具批量遷移本地已有代碼庫Git數據,削減企業遷移成本,最小化對業務的影響。
一、前提條件
操作前,請確認工具已安裝并運行正常,參見安裝本地遷移工具。
二、遷移準備
本工具可以幫助你進行本地代碼庫Git數據的批量遷移,包括源代碼、分支、提交、標簽信息。
在正式遷移生產庫前,建議使用非正式庫進行試遷移,保障配置正確后正式遷移。
在遷移操作時建議控制本地代碼庫的庫變更和寫入行為,一旦倉庫遷移成功后,重復遷移不會刷新變更的代碼數據,即本地庫的新增內容不會更新至Codeup。
三、定義遷移配置文件
現在我們開始遷移,請輸入以下命令,初始化本次遷移所需的配置文件如下:
./codeup-cli init
此時可以看到配置文件初始化成功的提示。
demo:workspace my$ ./codeup-cli init 【提示】 配置文件路徑:/Users/my/config.yaml 【成功】 初始化 config.yaml 成功,路徑地址為:/Users/my/config.yaml,請按照幫助文檔正確填寫配置。
接著根據提示的路徑,打開這個config.yaml文件,開始填寫源和目標平臺的配置參數,用于代碼庫拉取和導入。
配置文件字段說明,本地已有倉庫遷移在config.yaml模板中的source - 源平臺參數配置僅需填寫 platform字段,其他字段請自行刪除。
source - 源平臺參數配置
是否必填
參數說明
platform
必填
請填寫 "local"。
apiEndpoint
暫無
系統預留字段。
host
暫無
系統預留字段。
accessToken
暫無
系統預留字段。
username/password
暫無
系統預留字段。
accessKey
暫無
系統預留字段。
secretKey
暫無
系統預留字段。
orgID
暫無
系統預留字段。
localSSHKeyPath
暫無
系統預留字段。
asMember
暫無
系統預留字段。
target - 目標平臺參數配置
是否必填
參數說明
platform
必填
codeup (初始化已配置,請勿修改)。
apiEndpoint
必填
devops.cn-hangzhou.aliyuncs.com(初始化已配置,請勿修改)。
host
必填
codeup.aliyun.com(初始化已配置,請勿修改)。
accessToken
必填
阿里云主賬號在 Codeup 的個人訪問令牌,需勾選授予權限 write:repo。
username
HTTP克隆必填
Codeup 可用于HTTP克隆的用戶名。
password
HTTP克隆必填
Codeup 可用于HTTP克隆的密碼。
accessKey
必填
阿里云的主賬號(同時需要作為Codeup目標企業的擁有者)AK (AccessKey ID)參見如何獲取。
secretKey
必填
阿里云的主賬號(同時需要作為Codeup目標企業的擁有者)SK(AccessKey Secret)參見如何獲取。
orgID
必填
期望遷移到的 Codeup 企業ID,可在云效企業管理后臺查看。
localSSHKeyPath
SSH克隆必填
Codeup 已配置的 SSH key 對應的本地私鑰 key 路徑,注意需填寫完整路徑,如 /Users/my/.ssh/id_rsa。
具體路徑請根據實際本機私鑰存放路徑填寫。
以SSH方式為例,簡化的配置文件內容如下:
import: source: platform: local target: platform: codeup apiEndpoint: devops.cn-hangzhou.aliyuncs.com accessToken: xxxxx host: codeup.aliyun.com accessKey: xxxxx secretKey: xxxxx orgID: xxxxx localSSHKeyPath: /Users/my/.ssh/id_rsa # projectlistpath 指定步驟四里遷移庫范圍文件路徑; projectlistpath: projects.csv # workdir 指定遷移的工作目錄路徑,遷移完成后將自動清理目錄; workdir: /Users/my/workspace
四、定義遷移代碼庫范圍
您需要告知遷移工具要遷移的代碼庫列表范圍,這需要一個配置文件。
可以通過以下命令,生成遷移庫范圍的配置文件,文件需要和步驟三中 projectlistpath
指定路徑一致:
./codeup-cli import --gen project
命令執行完成后會在當前目錄下生成一個projects.csv的配置文件,打開文件,其內容格式是每一行都是[本地倉庫絕對路徑],[Codeup代碼庫相對路徑],[Codeup代碼庫可見性],示例如下:
#本地倉庫絕對路徑,Codeup代碼庫相對路徑,Codeup代碼庫可見性
/Users/my/Downloads/groupname/demo,groupname/demo,10
其中代碼庫可見性 0 表示公開性為「私有」,10 表示公開性為「企業內公開」。若自定義時輸入任意非 0 的數字將被自動轉換為 10,即企業內公開。
至此,您明確了遷移的代碼庫范圍。
五、執行遷移
即將完成遷移,請確認目前工作目錄下2個配置文件(遷移配置文件、代碼庫范圍文件)和存放代碼庫的文件夾(例如自定義的“repo”)已準備完畢:
通過以下命令啟動執行遷移:
./codeup-cli import --run true
# 遷移過程中會展示遷移的細節,如果有問題會顯示報錯信息
如Git數據遷移失敗,該庫狀態為遷移失敗。
若重復執行導入,歷史已導入成功的代碼庫將提示已存在跳過執行,未導入成功的代碼庫可繼續嘗試導入。
工具執行完后,如果一切正常,您便可以前往Codeup企業查看已遷移的代碼庫信息,確認遷移無誤。
遷移過程中遇到無法處理的問題,請添加釘釘群咨詢技術支持:32027065。