全部產品
Search
文件中心

Alibaba Cloud DevOps:通用三方代碼平台遷移

更新時間:Jun 19, 2025

本文為您介紹使用Codeup-CLI工具對常見三方平台如Github、Gitee、Coding 等提供了程式碼程式庫 Git資料批量遷移服務,削減企業遷移成本,最小化對業務的影響。

一、前提條件

操作前,請確認工具已安裝並運行正常,參見安裝遷移工具

二、遷移準備

本工具可以協助您進行三方程式碼程式庫Git資料的批量遷移,包括原始碼、分支、提交、標籤資訊。

  1. 在正式遷移生產庫前,建議使用非正式庫進行試遷移,保障配置正確後正式遷移。

  2. 在遷移操作時建議控制三方程式碼程式庫的庫變更和寫入行為,一旦倉庫遷移成功後,重複遷移不會重新整理變更的代碼資料,即三方庫的新增內容不會更新至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。