Topik ini menjelaskan cara menggunakan tool Codeup-CLI untuk melakukan migrasi massal data Git dari repositori lokal yang sudah ada. Metode ini membantu mengurangi biaya migrasi dan meminimalkan dampak terhadap bisnis Anda.
Prasyarat
Sebelum memulai, pastikan tool migrasi telah diinstal dan berjalan dengan benar. Untuk informasi selengkapnya, lihat Instal tool migrasi.
Persiapan migrasi
Tool ini membantu Anda melakukan migrasi massal data Git dari repositori lokal, termasuk kode sumber, branch, commit, dan tag.
Sebelum melakukan migrasi repositori produksi, lakukan migrasi uji coba menggunakan repositori non-produksi untuk memastikan konfigurasi Anda sudah benar sebelum migrasi sesungguhnya.
Selama proses migrasi, hindari melakukan perubahan atau operasi tulis pada repositori lokal Anda. Setelah repositori berhasil dimigrasikan, menjalankan kembali proses migrasi tidak akan menyinkronkan perubahan baru dari repositori lokal ke Codeup.
Langkah 1: Tentukan file konfigurasi migrasi
File konfigurasi menentukan sumber migrasi, target, dan cakupannya. Anda hanya perlu menyediakan informasi cloning melalui HTTP atau SSH.
source - Parameter platform sumber | Diperlukan | Deskripsi |
platform | Diperlukan | Masukkan "local". |
target – Parameter platform target | Diperlukan | Deskripsi |
host | Diperlukan | Nama domain Apsara Devops, misalnya https://***.devops.alibabacloudcs.com. |
accessKey | Diperlukan | Token akses pribadi yang valid dengan izin baca dan tulis untuk repositori dan kelompok. Untuk informasi selengkapnya, lihat Dapatkan token akses pribadi. |
username | Hanya untuk cloning HTTP | Username untuk cloning HTTP di Codeup. |
password | Hanya untuk cloning HTTP | Password untuk cloning HTTP di Codeup. |
localSSHKeyPath | Hanya untuk cloning SSH | Jalur lengkap ke kunci privat lokal yang sesuai dengan kunci SSH yang dikonfigurasi di Codeup. Contoh: /Users/my/.ssh/id_rsa. Masukkan jalur tempat kunci privat Anda disimpan. |
Contoh berikut menunjukkan file config.yaml yang disederhanakan untuk migrasi menggunakan SSH:
# Wajib. Nomor versi, v2, yang mengidentifikasi versi konfigurasi saat ini.
version: "v2"
import:
source:
platform: "local"
target:
host: "https://***.devops.alibabacloudcs.com"
# Token akses pribadi dengan izin baca dan tulis untuk repositori dan kelompok.
accessKey: "pt-******03GFpdmIedUgug****_******-3734-484a-9b4b-248569f78c9d"
localSSHKeyPath: "/Users/****/.ssh/id_rsa"
# projectListPath menentukan jalur file untuk cakupan migrasi repositori yang didefinisikan di Langkah 2.
projectListPath: "projects.csv" IV. Tentukan cakupan repositori kode untuk migrasi
Anda harus membuat file konfigurasi untuk menentukan daftar repositori yang akan dimigrasikan.
Jalankan perintah berikut untuk menghasilkan file konfigurasi cakupan. Jalur file tersebut harus sesuai dengan jalur yang ditentukan untuk projectListPath di Langkah 1.
./codeup-cli import --gen projectSetelah menjalankan perintah tersebut, file projects.csv akan dihasilkan di direktori saat ini. Dalam file ini, setiap baris mendefinisikan repositori yang akan dimigrasikan dalam format berikut: [Jalur absolut repositori lokal],[Jalur relatif repositori Codeup],[Visibilitas repositori Codeup]. Contoh kode berikut menunjukkan format tersebut:
#Jalur absolut repositori lokal,Jalur relatif repositori Codeup (mendukung subdirektori bersarang),Visibilitas repositori Codeup
/Users/my/Downloads/groupname/demo,groupname/demo,10Untuk visibilitas repositori, angka 0 berarti Private dan 10 berarti Internal. Jika Anda memasukkan nilai selain 0, visibilitas akan secara otomatis diatur menjadi 10 (Internal).
Kini Anda telah menentukan cakupan repositori untuk migrasi.
Langkah 3: Jalankan migrasi
Pastikan file konfigurasi migrasi, file cakupan repositori, dan folder repositori berada di direktori kerja Anda. Kemudian, jalankan perintah berikut untuk memulai migrasi:
./codeup-cli import --run true --config=./config.yaml
# Detail migrasi ditampilkan selama proses berlangsung. Pesan error akan muncul jika terjadi masalah.Jika migrasi data Git untuk suatu repositori gagal, statusnya akan ditandai sebagai Failed.
Jika Anda menjalankan kembali proses import, tool akan melewati repositori yang telah berhasil diimpor dan mencoba kembali mengimpor repositori yang gagal.
Setelah migrasi selesai, buka organisasi Codeup Anda untuk melihat repositori yang telah dimigrasikan dan pastikan migrasi telah berhasil.
Jika Anda mengalami masalah selama migrasi, Anda dapat bergabung dengan grup DingTalk 32027065 untuk mendapatkan dukungan teknis.