Codeup-CLI aracını kullanarak GitHub, Gitee veya Coding gibi üçüncü taraf kod depolarından Codeup'a Git verilerini toplu olarak geçirin; geçiş maliyetlerini düşürün ve iş etkisini en aza indirin.
Ön koşullar
Codeup-CLI aracının yüklü olduğundan ve doğru çalıştığından emin olun. Daha fazla bilgi için bkz. Geçiş Aracını Yükleyin.
Hazırlık
Codeup-CLI, üçüncü taraf kod depolarından kaynak kodu, dallar, commit'ler ve etiketler dahil olmak üzere Git verilerini toplu olarak geçirir.
Bir üretim deposunu geçirmeden önce, yapılandırmanızın doğru olduğundan emin olmak için üretim dışı bir depoda test geçişi çalıştırın.
Geçiş sırasında, kaynak üçüncü taraf kod deposuna yazma erişimini kısıtlayın. Bir depo başarıyla geçirildikten sonra, geçişi yeniden çalıştırmak kaynak depodaki yeni commit'leri eşitlemez.
1. Adım: Yapılandırma dosyasını tanımlayın
Yapılandırma dosyası, geçiş kaynağını, hedefini ve kapsamını belirtir. HTTP veya SSH klonlama için kimlik bilgilerini sağlamanız yeterlidir; her ikisi için de gerekmez.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Üçüncü taraf platformunda HTTP klonlama için kullanılan parola. *Not: GitHub kişisel erişim belirteci gerektirir. Parola tabanlı kimlik doğrulama artık desteklenmemektedir. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codeup'ta HTTP klonlama için kullanılan kullanıcı adı. Merkezî site için kullanıcı adını yolunda ayarlayın. Bölgesel siteler için kullanıcı adını yolunda görüntüleyin. |
|
|
|
Codeup'ta HTTP klonlama için kullanılan parola. Merkezî site için parolayı yolunda ayarlayın. Bölgesel siteler için yolunda ayarlayın. Parola ayarlayamıyorsanız bunun yerine personal access token kullanabilirsiniz. |
|
|
|
|
Aşağıdaki örnek, SSH kimlik doğrulaması kullanan basitleştirilmiş bir config.yaml dosyasını göstermektedir:
# Required. The version of the configuration file. Set to "v2".
version: "v2"
import:
source:
platform: "common"
localSSHKeyPath: "/Users/****/.ssh/id_rsa"
target:
# The domain name of Alibaba Cloud DevOps.
host: "https://***.devops.alibabacloudcs.com"
# Your personal access token. This token must have read and write permissions for the code repository and code group.
accessKey: "pt-******03GFpdmIedUgug****_******-3734-484a-9b4b-248569f78c9d"
localSSHKeyPath: "/Users/****/.ssh/id_rsa"
# The path to the migration scope file defined in Step 2.
projectListPath: "/Users/****/workspace/projects.csv"
# The working directory for the migration. The directory is automatically cleared after the migration is complete.
workDir: "/Users/****/workspace"
2. Adım: Geçiş kapsamını tanımlayın
Geçirilecek kod depolarını listeleyen bir dosya oluşturun.
Geçiş kapsamı için bir şablon dosyası oluşturmak üzere aşağıdaki komutu çalıştırın. Dosya yolu, 1. Adımdaki projectListPath değeriyle eşleşmelidir.
./codeup-cli import --gen project
Komut, geçerli dizinde bir projects.csv dosyası oluşturur. Her satır, geçirilecek bir depoyu şu biçimde belirtir: [Kaynak deponun tam URL'si],[Codeup'taki hedef deponun göreli yolu],[Depo görünürlüğü]. Aşağıdaki örnek dosya biçimini göstermektedir:
# ,,
https://github.com/namesapce/demo.git,namesapce/demo,10
# ,,
https://gitee.com/namesapce/demo.git,namesapce/demo,10
# ,,
https://e.coding.net/namesapce/demo.git,namesapce/demo,10
Depo görünürlüğü için 0 değeri private anlamına gelir; 10 değeri ise organization-wide public anlamına gelir. Diğer tüm değerler varsayılan olarak 10 (kuruluş genelinde herkese açık) olarak kabul edilir.
Geçişi çalıştırmadan önce örnek girişleri silin ve bunları gerçek depo bilgilerinizle değiştirin.
3. Adım: Geçişi çalıştırın
Çalışma dizininizde yapılandırma dosyası ve geçiş kapsamı dosyası hazırlandıktan sonra, geçişi başlatmak için aşağıdaki komutu çalıştırın:
./codeup-cli import --run true --config=./config.yaml
# The output displays the migration progress and any errors.
Bir depo için geçiş başarısız olursa, araç bu depoyu başarısız olarak işaretler.
İçe aktarma komutunu yeniden çalıştırırsanız, araç başarılı şekilde geçirilen depoları atlar ve yalnızca başarısız olanları yeniden dener.
GitHub'dan yapılan geçişler ağ sorunları nedeniyle zaman aşımına uğrayabilir. Zaman aşımı hatası oluşursa ağ bağlantınızı kontrol edin ve tekrar deneyin.
Araç tamamlandıktan sonra sonuçları doğrulamak için Codeup kuruluşunuzdaki geçirilen depoları kontrol edin.
Çözemediğiniz sorunlar için DingTalk destek grubuna katılın (ID: 32027065).