Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Toplu yükseltme, aynı anda birden çok depoya tutarlı modernleştirme planları uygulamanızı sağlar. Bu makalede, kurumsal ölçekte birden çok uygulamayı verimli bir şekilde yükseltme işlemi gösterilmektedir.
Toplu yükseltmeyi kullanarak şunları yapabilirsiniz:
- Aynı yükseltme hedefini kullanarak birden çok uygulamayı aynı anda yükseltin.
- Uygulamalar arasında benzer yükseltme desenleri kullanarak tutarlılığı sağlayın.
- Bulut Kodlama Aracıları'na görev devri yaparken paralel yürütmeden yararlanın.
Toplu yükseltme aşağıdaki avantajları sağlar:
Tutarlı yürütme:
- Standartlaştırılmış yaklaşım: Tüm depolara aynı modernleştirme desenlerini uygulayın.
- Azaltılmış değişkenlik: Benzer uygulamalar için tutarlı yükseltme yollarından emin olun.
- Yeniden kullanılabilir stratejiler: Uygulamalar arasında kuruluşa özgü becerileri kullanın.
Ölçek ve verimlilik:
- Paralel işleme: Birden çok depoları aynı anda işlemek için Bulut Kodlama Aracılarını kullanın.
- Otomatik iş akışları: Zamanlanmış modernleştirme için CI/CD işlem hatlarıyla tümleştirme.
- Zaman tasarrufu: Toplam modernizasyon süresini haftalardan saatlere düşürün.
Önkoşullar
- CLI'i modernleştirin.
- Tamamlanmış bir toplu iş değerlendirmesi (önerilir ancak gerekli değildir).
- Tüm depolar aynı programlama dilini (Java veya .NET) kullanır.
- Yükseltmek istediğiniz tüm depolara erişim.
- GitHub kimlik doğrulaması yapılandırıldı (
gh auth login).
Önemli
Toplu yükseltmedeki tüm depolar aynı programlama dilini kullanmalıdır. Depo farklı bir dil kullanıyorsa toplu yükseltme, depoyu başarısız olarak işaretler ve atlar.
Depoları yapılandırma
Toplu yükseltmeyi etkinleştirmek için, çalışma dizininizde yükseltmek istediğiniz tüm depoları listeleyen bir .github/modernize/repos.json dosya oluşturun.
Bahşiş
Örnek depolar için, önce bunları fork edin ve işi Bulut Kod Ajanları'na devretmek için yönetici iznine sahip olduğunuzdan emin olun.
[
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
},
{
"name": "ZavaSocialFrontEnd",
"url": "https://github.com/Azure-Samples/ZavaSocialFrontEnd"
}
]
Depo yapılandırması
Her giriş şunları gerektirir:
- name: Depo için kolay bir ad (raporlarda ve panolarda kullanılır).
- url: Git kopyası URL'si (HTTPS biçimi).
Bahşiş
Farklı kuruluşlardan depolar ekleyebilir ve erişiminiz olduğu sürece farklı kimlik doğrulama yöntemleri kullanabilirsiniz.
Dosya konumu
repos.json dosyasını .github/modernize/repos.json konumuna yerleştirmek zorundasınız.
Modernleştirme aracısı toplu işlemler çalıştırılırken bu dosyayı otomatik olarak algılar.
Yürütme modunuzu seçin
Toplu yükseltme iki yürütme modunu ve iki etkileşim yöntemini destekler:
Yürütme modları
Yerel yürütme
- En iyi yöntem: Test, daha küçük depo kümeleri (1-5 depo) veya yerel denetimi tercih ettiğinizde.
- Nasıl çalışır: Depoları yerel makinenizde sıralı olarak işler.
- Kurulum gerekli: Temel önkoşulların ötesinde bir şey gerekmemektedir.
Bulut Kodlama Aracısı yetkilendirmesi
- En iyi yöntem: Kurumsal ölçekli işlemler, büyük portföyler (5+ depo) veya paralel işleme.
- Nasıl çalışır: Bulutta paralel yürütme için GitHub Bulut Kodlama Aracılarına görevler gönderir.
- Kurulum gerekli: Her depoda (kurulum sırasında yapılandırılan) MCP sunucu yapılandırması.
Bahşiş
Bulut Kodlama Aracısı temsilcisi, depoları paralel olarak işleyerek toplam modernizasyon süresini saatlerden dakikalara düşürebilir.
Etkileşim yöntemleri
Etkileşimli mod (TUI)
- Menüler ve istemlerle ilgili kılavuzlu deneyim.
- İlk kez kullananlar veya seçenekleri gözden geçirmek istediğinizde en iyi seçenek.
- Hem yerel hem de bulut yürütmeyi destekler.
Etkileşimli olmayan mod (CLI/başsız)
- Komut satırı tabanlı, tam otomatik.
- CI/CD işlem hatları ve otomasyon için en iyi yöntemdir.
- Bayrağıyla
--delegate cloudhem yerel hem de bulut yürütmeyi destekler.
Uyarı
Herhangi bir yürütme modunu herhangi bir etkileşim yöntemiyle birleştirebilirsiniz. Örneğin:
-
modernize(etkileşimli, yerel) -
modernizeBulut Kodlama Aracıları'→ seçin (etkileşimli, bulut) -
modernize upgrade "Java 21"(etkileşimli olmayan, yerel) -
modernize upgrade "Java 21" --delegate cloud(etkileşimli olmayan, bulut)
Toplu yükseltme nasıl çalışır?
Toplu yükseltme iş akışı:
- Dil algılama: proje dilini (Java veya .NET) ilk depodan otomatik olarak algılar.
- Plan oluşturma: İsteminize göre bir yükseltme planı oluşturur veya en son LTS sürümlerini kullanır.
- Yürütme: Yükseltmeyi her depoya uygular.
- Doğrulama: Her depo için değişiklikleri derler ve doğrular.
Toplu yükseltmeyi çalıştırma
Depolarınızı yapılandırdıktan ve yürütme modunu seçtikten sonra toplu yükseltmeyi başlatın.
Etkileşimli mod (yerel olarak yükseltme)
Modernleştirme aracısını çalıştırın:
modernizeAracı dosyayı algılar
repos.jsonve depo listesini görüntüler:Yükseltmek için depoları seçin ve seçiminizi onaylamak için
Entertuşuna basın.-
Tüm havuzları seçmek için
Ctrl+Atuşuna basın. -
İsterseniz ok tuşlarını kullanarak tek tek depoları seçebilir ve bu tuşlara basabilirsiniz
Enter.
-
Tüm havuzları seçmek için
2'yi seçin. Ana menüden yükseltin.
Yükseltmeyi çalıştırmak için 1'i seçin. Yerel olarak yükseltin.
Aracı otomatik olarak çalışır:
- İsteğinize göre bir yükseltme planı oluşturur.
- Planı her depoya sırayla uygular.
- Değişikliklerden sonra her bir depo oluşturur ve doğrular.
- Her deponun ilerleme durumunu ve özetini görüntüler.
Etkileşimli mod (Bulut Kodlama Aracılarına temsilci seçme)
Önkoşullar: MCP sunucusunu yapılandırma
Yükseltmeyi çalıştırmadan önce her depoda GitHub Copilot Modernizasyon MCP Sunucusu'nu yapılandırın.
Java uygulamaları için bu yapılandırmayı depo ayarlarınızın Bulut Kodlama Aracısı bölümüne ekleyin:
{
"mcpServers": {
"app-modernization": {
"type": "local",
"command": "npx",
"tools": [
"*"
],
"args": [
"-y",
"@microsoft/github-copilot-app-modernization-mcp-server"
]
}
}
}
Adımlar
Modernleştirme aracısını çalıştırın:
modernizeAracı dosyayı algılar
repos.jsonve depo listesini görüntüler:Yükseltmek için depoları seçin ve seçiminizi onaylamak için
Entertuşuna basın.-
Tüm havuzları seçmek için
Ctrl+Atuşuna basın. -
İsterseniz ok tuşlarını kullanarak tek tek depoları seçebilir ve bu tuşlara basabilirsiniz
Enter.
-
Tüm havuzları seçmek için
2'yi seçin. Ana menüden yükseltin.
Yükseltmeyi çalıştırmak için 2. Bulut Kodlama Aracıları ile Devret'i seçin.
Aracı otomatik olarak çalışır:
Her depo için yükseltme planları oluşturur.
Her bir depo için bir Bulut Kodlama Aracısı işi gönderir.
İşleri bulutta bağımsız bir şekilde paralel çalıştırır.
Her depo için iş kimliklerini ve PR URL'lerini görüntüler.
Görevleri paralel yürütme için AgentHQ'ye devreder.
Tek tek her görevin ilerleme durumunu gerçek zamanlı olarak izler.
Tamamlanan her görev için yükseltme özetini görüntüler.
Etkileşimli olmayan mod (CLI)
Otomasyon ve CI/CD tümleştirmesi için komutunu modernize upgrade kullanın:
Yerel olarak yükseltin:
modernize upgrade "Java 21"
Bulut Kodlama Aracılarını kullanarak yükseltme:
modernize upgrade "Java 21" --delegate cloud
Komut repos.json dosyasını otomatik olarak tespit eder ve tüm depoları işler.
Uyarı
Toplu başlıksız yürütme ve daha fazla CLI seçeneği için, CLI komutları başvurusundaki Çok depolu yapılandırma bölümüne bakın.
Sonuçları gözden geçirme
Toplu yükseltme tamamlandığında:
Terminalde görüntülenen toplu raporu denetleyin.
Tek tek depo değişikliklerini gözden geçirin:
cd <repository-name> git status git diffBaşarılı yükseltmeler için çekme istekleri oluşturun:
cd <repository-name> gh pr create --title "Upgrade to Java 21" --body "Automated upgrade by modernization agent"
Toplu yükseltme sorunlarını giderme
Sık karşılaşılan sorunlar
Depo erişim hataları:
- kullanarak
gh auth statusGitHub kimlik doğrulamayı doğrulayın. - içindeki
repos.jsontüm depolara erişiminiz olduğundan emin olun.
Dil uyuşmazlığı hataları
- içindeki
repos.jsontüm depoların aynı dili (Java veya .NET) kullandığından emin olun. - Farklı diller için ayrı toplu işlemler oluşturun.
Kopyalama hataları:
-
repos.jsoniçindeki depo URL'lerinin doğru ve erişilebilir olduğunu doğrulayın. - Tüm depolar için uygun erişim izinlerine sahip olduğunuzdan emin olun.
- Ağ bağlantısını ve VPN ayarlarını denetleyin.
Yükseltmeden sonra derleme hataları:
- Toplanan rapordaki derleme hata iletilerini gözden geçirin.
- Diğer bağımlılıkları güncelleştirmeniz gerekip gerekmediğini denetleyin.
- Üçüncü taraf kitaplıklarının yeni sürümle uyumluluğunu doğrulayın.
Tek tek depo hataları:
- Tek tek depolar başarısız olsa bile toplu işlem devam eder.
- Başarısız depoları belirlemek için toplanan raporu gözden geçirin.
- Belirli hata iletileri için hata günlüklerini denetleyin.
- Başarısız depoları ayrı ayrı yeniden deneyin.
Bulut Kodlama Aracısı hataları:
- GitHub Actions izinlerini ve kota sınırlarını denetleyin.
- .NET Framework için Windows çalıştırıcı yapılandırmasının düzgün ayarlandığından emin olun.
Sonraki Adımlar
Toplu yükseltmeyi tamamladıktan sonra şunları yapabilirsiniz:
Geliştirmeye devam edin:
- Toplu değerlendirmeyi çalıştırma - İyileştirmeleri doğrulamak ve yeni fırsatları belirlemek için yeniden değerlendirmeler.
- Kuruluşa özgü desenler için özel beceriler oluşturma - Yeniden kullanım için başarılı desenleri yakalayın.
Daha fazla bilgi edinin:
Geri bildirimde bulunun
Girdinize değer veririz! Toplu yükseltme veya Modernleştirme aracısı hakkında geri bildiriminiz varsa github-copilot-appmod deposunda bir sorun oluşturun veya GitHub Copilot modernleştirme geri bildirim formunu kullanın.