Gunakan tool Codeup-CLI untuk melakukan migrasi massal data Git dari repositori kode pihak ketiga—seperti GitHub, Gitee, atau Coding—ke Codeup guna mengurangi biaya migrasi dan meminimalkan dampak terhadap bisnis.
Prasyarat
Sebelum memulai, pastikan tool Codeup-CLI telah terinstal dan berjalan dengan benar. Untuk informasi lebih lanjut, lihat Install Migration Tool.
Persiapan
Tool Codeup-CLI melakukan migrasi massal data Git, termasuk kode sumber, branch, commit, dan tag, dari repositori kode pihak ketiga.
Sebelum melakukan migrasi repositori produksi, lakukan migrasi uji coba pada repositori non-produksi untuk memastikan konfigurasi Anda benar.
Selama proses migrasi, batasi akses tulis ke repositori kode pihak ketiga sumber. Setelah repositori berhasil dimigrasikan, menjalankan kembali migrasi tidak akan menyinkronkan commit baru dari repositori sumber.
Langkah 1. Tentukan file konfigurasi
File konfigurasi menentukan sumber migrasi, target, dan cakupannya. Anda hanya perlu memberikan kredensial untuk salah satu metode—HTTP clone atau SSH clone—tidak keduanya.
Parameter sumber | Wajib | Deskripsi |
platform | Wajib | Tetapkan nilainya ke "common". |
username | Wajib jika menggunakan HTTP clone | Username untuk HTTP clone pada platform pihak ketiga. |
password | Wajib jika menggunakan HTTP clone | Password untuk HTTP clone pada platform pihak ketiga. *Catatan: Untuk GitHub, Anda harus menggunakan personal access token untuk otentikasi. Otentikasi berbasis password tidak lagi didukung. |
localSSHKeyPath | Wajib jika menggunakan SSH clone | Jalur lengkap ke kunci privat lokal yang sesuai dengan kunci SSH yang dikonfigurasi pada platform pihak ketiga. Contoh: |
Parameter target | Wajib | Deskripsi |
host | Wajib | Nama domain Alibaba Cloud DevOps. Contoh: |
accessKey | Wajib | Token akses pribadi yang valid dengan izin baca dan tulis untuk repositori kode dan kelompok kode. Untuk informasi selengkapnya, lihat Mendapatkan token akses pribadi. |
username | Wajib untuk klon HTTP | Username untuk klon HTTP di Codeup. Untuk situs pusat, atur username di . Untuk situs regional, lihat username di . |
password | Wajib untuk klon HTTP | Password untuk klon HTTP di Codeup. Untuk situs pusat, atur password di . Untuk situs regional, atur di . Jika Anda tidak dapat mengatur password, Anda dapat menggunakan personal access token sebagai gantinya. |
localSSHKeyPath | Wajib untuk klon SSH | Jalur lengkap ke kunci privat lokal yang sesuai dengan kunci SSH yang dikonfigurasi di Codeup. Contoh: |
Kode berikut menunjukkan contoh file config.yaml yang disederhanakan menggunakan otentikasi SSH:
# Wajib. Versi file konfigurasi. Tetapkan ke "v2".
version: "v2"
import:
source:
platform: "common"
localSSHKeyPath: "/Users/****/.ssh/id_rsa"
target:
# Nama domain Alibaba Cloud DevOps.
host: "https://***.devops.alibabacloudcs.com"
# Token akses pribadi Anda. Token ini harus memiliki izin baca dan tulis untuk repositori kode dan kelompok kode.
accessKey: "pt-******03GFpdmIedUgug****_******-3734-484a-9b4b-248569f78c9d"
localSSHKeyPath: "/Users/****/.ssh/id_rsa"
# Jalur ke file cakupan migrasi yang ditentukan di Langkah 2.
projectListPath: "/Users/****/workspace/projects.csv"
# Direktori kerja untuk migrasi. Direktori ini akan dihapus secara otomatis setelah migrasi selesai.
workDir: "/Users/****/workspace" Langkah 2. Tentukan cakupan migrasi
Buat file yang berisi daftar repositori kode yang akan dimigrasikan.
Jalankan perintah berikut untuk menghasilkan file templat cakupan migrasi. Jalur file ini harus sesuai dengan jalur yang ditentukan untuk projectListPath di Langkah 1.
./codeup-cli import --gen project Perintah tersebut menghasilkan file projects.csv di direktori saat ini. Setiap baris dalam file ini menentukan repositori yang akan dimigrasikan dan mengikuti format: [URL lengkap repositori sumber],[Jalur relatif repositori target di Codeup],[Visibilitas repositori]. Kode berikut menunjukkan contohnya:
# <URL lengkap repositori sumber GitHub>,<jalur relatif repositori target Codeup, direktori bersarang didukung>,<visibilitas repositori>
https://github.com/namesapce/demo.git,namesapce/demo,10
# <URL lengkap repositori sumber Gitee>,<jalur relatif repositori target Codeup>,<visibilitas repositori>
https://gitee.com/namesapce/demo.git,namesapce/demo,10
# <URL lengkap repositori sumber Coding>,<jalur relatif repositori target Codeup>,<visibilitas repositori>
https://e.coding.net/namesapce/demo.git,namesapce/demo,10
</repository></relative></full></repository></relative></full></repository></relative></full>Untuk visibilitas repositori, 0 menunjukkan private, dan 10 menunjukkan organization-wide public. Semua nilai lainnya secara default dianggap sebagai 10 (organization-wide public).
Sebelum menjalankan migrasi, hapus entri contoh dari file tersebut dan ganti dengan informasi repositori aktual Anda.
Langkah 3. Jalankan migrasi
Setelah menyiapkan file konfigurasi dan file cakupan migrasi di direktori kerja Anda, jalankan perintah berikut untuk memulai migrasi:
./codeup-cli import --run true --config=./config.yaml
# Output menampilkan progres migrasi dan error apa pun.Jika migrasi gagal untuk suatu repositori, tool akan menandai statusnya sebagai 'failed'.
Jika Anda menjalankan kembali perintah import, tool akan melewati repositori yang telah berhasil dimigrasikan dan hanya mencoba ulang repositori yang gagal.
Migrasi dari GitHub mungkin mengalami timeout karena masalah jaringan. Jika terjadi error timeout, periksa koneksi jaringan Anda dan coba lagi.
Setelah tool selesai, periksa repositori yang telah dimigrasikan di organisasi Codeup Anda untuk memverifikasi keberhasilan migrasi.
Untuk masalah yang tidak dapat Anda selesaikan, bergabunglah dengan grup dukungan DingTalk (ID: 32027065).