Aracılığıyla paylaş


GitHub Copilot modernizasyon aracısı ile toplu değerlendirme

Toplu değerlendirme, uygulamalarınız genelinde modernleştirme ortamının kapsamlı bir görünümünü sağlayarak birden çok uygulamayı aynı anda analiz etmenizi sağlar. Bu makale, birden çok depoyu verimli bir şekilde değerlendirme sürecinde size yol gösterir.

Toplu değerlendirme, çeşitli uygulamaların hazır olma durumunu ve gereksinimlerini aynı anda verimli bir şekilde değerlendirmenize olanak sağladığından geçiş planlaması için özellikle değerlidir. Toplu değerlendirmeyi kullanarak farklı depoları aynı anda değerlendirebilir ve her uygulama için ayrıntılı değerlendirme raporları alabilirsiniz. Geçiş planlamanızı desteklemek için iki tür rapor oluşturur:

  • Uygulama başına rapor: Bireysel depo düzeyinde tanımlanan tüm modernleştirme sorunları hakkında ayrıntılı içgörüler sağlar.
  • Toplu rapor: Özet içgörüler, Azure hizmetleri, hedef platformlar ve yükseltme yolları hakkında öneriler sunarak değerlendirilen tüm uygulamaların genel bakış açısını sunar. Ayrıca, toplanan rapor her uygulama raporuna kolay erişim için kısayollar içerir.

Batch değerlendirmesi aşağıdaki avantajları sağlar:

  • Uygulamalar arası görünürlük:

    • Toplu raporlar: Uygulamalar genelinde kapsamlı bir görünüm elde edin.
    • Depolar arası analiz: Uygulamalar arasında ortak desenleri ve bağımlılıkları belirleme.
    • Öncelik belirleme içgörüleri: Hangi uygulamaların hemen ilgilenilmesi gerektiğini anlayı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ış değerlendirme için CI/CD işlem hatlarıyla tümleştirme.
    • Zaman tasarrufu: Toplam değerlendirme süresini haftalardan saatlere düşürün.

Önkoşullar

  • CLI'i modernleştirin.
  • Değerlendirmek istediğiniz tüm depolara erişim.
  • GitHub kimlik doğrulaması yapılandırılır (gh auth login).

Depoları yapılandırma

Toplu değerlendirmeyi etkinleştirmek için, çalışma dizininizde değerlendirmek istediğiniz tüm depoları listeleyen bir .github/modernize/repos.json dosya oluşturun.

Depolara erişim izinlerinizin doğru olduğundan emin olun veya bu depoları çatallayın.

[
  {
    "name": "PhotoAlbum-Java",
    "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
  },
  {
    "name": "PhotoAlbum",
    "url": "https://github.com/Azure-Samples/PhotoAlbum.git"
  },
  {
    "name": "eShopOnWeb",
    "url": "https://github.com/dotnet-architecture/eShopOnWeb.git"
  }
]

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çimindedir.

Tavsiye

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ırdığında bu dosyayı otomatik olarak algılar.

Toplu değerlendirmeyi çalıştırma

İki yürütme modu kullanılabilir:

  • Yerel yürütme: Modernleştirme aracısı depoları yerel makinenizde birbiri ardına işler. Bu mod, daha küçük bir uygulama kümesi veya ilk test için en iyi şekilde çalışır.
  • Bulut Kodlama Aracısı temsilcisi: Modernleştirme aracısı, bulutta paralel işleme için GitHub Bulut Kodlama Aracılarına görevler gönderir. Bu mod, çoklu depo senaryoları için daha hızlıdır.

Tavsiye

Bulut Kodlama Aracısı temsilcisini kullanarak tüm depolarda paralel yürütmeyi etkinleştirirsiniz. Bu yaklaşım, büyük portföyler için toplam değerlendirme süresini önemli ölçüde azaltır.

Etkileşimli mod (yerel olarak değerlendirme)

  1. Modernleştirme aracısını çalıştırın:

    modernize
    
  2. Aracı dosyayı algılar repos.json ve depo listesini görüntüler:

    Terminaldeki depo listesini gösteren CLI'yi modernleştirin ekran görüntüsü.

  3. Değerlendirilecek depoları seçin ve seçiminizi onaylamak için basın Enter .

    • Tüm havuzları seçmek için Ctrl+A tuşuna basın.
    • Gezinmek için ok tuşlarını kullanın ve tek tek depoları seçmek için basınSpace.
  4. 1'i seçin. Ana menüden uygulamayı değerlendirin.

    Terminaldeki modernleştir menüsünü gösteren CLI'yi modernleştirin ekran görüntüsü.

  5. Değerlendirmeyi çalıştırmak için yerel olarak değerlendirmeyi veya bulut kodlama aracılarına temsilci seçmeyi seçin. 1'i seçin. Yerel olarak değerlendirin.

    Terminaldeki değerlendirme menüsünü gösteren CLI'yi modernleştirin ekran görüntüsü.

  6. Aracı otomatik olarak çalışır:

    • Seçilen tüm depoları klonlar.

    • Her depoda değerlendirmeyi tek tek çalıştırır.

    • Tek tek değerlendirme raporları oluşturur.

      Modernize CLI terminalinde bireysel değerlendirme raporu oluşturma çıkışını gösteren ekran görüntüsü.

    • Toplu rapor oluşturur.

      Terminalde toplanan rapor oluşturma işleminin çıkışını gösteren CLI'yi modernleştirin ekran görüntüsü.

  7. Değerlendirme tamamlandığında aracı, toplanan raporu otomatik olarak açar.

    Toplanan raporun içeriğini gösteren CLI'yi modernleştirin ekran görüntüsü.

Etkileşimli mod (Bulut Kodlama Aracılarına temsilci seçme)

İlk olarak, her uygulama deposunda Bulut Kodlama Aracılarını yapılandırın. Bulut Kodlama Ajanlarını yapılandırmak için örnek depoları fork edin.

.NET uygulamaları için yapılandırma

.NET Framework uygulamaları için Windows'ta çalışacak şekilde yapılandırma

Copilot Kodlama Aracısı varsayılan olarak bir Ubuntu Linux ortamında çalışır. .NET Framework uygulamaları için bir Windows ortamına ihtiyacınız vardır. Bunu etkinleştirmek için, aşağıdaki örnekte gösterildiği gibi main dalında bulunan uygulama deponuzda .github/workflows/copilot-setup-steps.yaml'yi yapılandırın.

# Windows-based Copilot Setup Steps for .NET tasks
# Note: Windows runners have firewall limitations that may affect some network operations
# Use this workflow for .NET projects that require Windows-specific tooling

name: "Copilot Setup Step (Windows)"

on:
  workflow_dispatch:

jobs:
  copilot-setup-steps:
    runs-on: windows-latest
    permissions:
      contents: read
    steps:
      - name: Checkout code
        uses: actions/checkout@v5

Daha fazla bilgi için bkz. Copilot kurulum adımlarıyla Copilot'un geliştirme ortamını özelleştirme

Güvenlik duvarını devre dışı bırakma

Aşağıdaki görüntüde gösterildiği gibi depo ayarlarınızda Copilot kodlama aracısının tümleşik güvenlik duvarını devre dışı bırakın:

Güvenlik duvarını etkinleştir ayarının Kapalı olarak ayarlandığı depo ayarlarını gösteren GitHub'ın ekran görüntüsü.

Java uygulamaları için yapılandırma

Aşağıdaki örnekte gösterildiği gibi depo ayarlarınızın Bulut Kodlama Aracısı bölümünde GitHub Copilot Modernizasyon MCP Sunucusu'nu yapılandırın:

{
  "mcpServers": {
    "app-modernization": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "-y",
        "@microsoft/github-copilot-app-modernization-mcp-server"
      ]
    }
  }
}

MCP yapılandırma bölümünün vurgulandığı depo Kodlama aracısı ayarlarını gösteren GitHub'ın ekran görüntüsü.

Adımlar

  1. Modernleştirme aracısını çalıştırın:

    modernize
    
  2. Aracı dosyayı algılar repos.json ve depo listesini görüntüler:

    Terminaldeki depo listesini gösteren CLI'yi modernleştirin ekran görüntüsü.

  3. Değerlendirilecek depoları seçin ve seçiminizi onaylamak için basın Enter .

    • Tüm havuzları seçmek için Ctrl+A tuşuna basın.
    • Gezinmek için ok tuşlarını kullanın ve tek tek depoları seçmek için basınSpace.
  4. 1'i seçin. Uygulamaları ana menüden değerlendirin.

    Terminaldeki modernleştir menüsünü gösteren CLI'yi modernleştirin ekran görüntüsü.

  5. Değerlendirmeyi çalıştırmak için 2. Bulut Kodlama Temsilcilerine Delege Edin seçeneğini seçin.

    Modernize CLI'nin değerlendirme menüsünde 'Bulut Kodlama Aracılarına Temsilci' seçeneğinin seçili olduğunu gösteren ekran görüntüsü.

  6. Aracı, her depo için değerlendirme görevlerini otomatik olarak Bulut Kodlama Aracılarına devreder ve bunları bulutta paralel olarak yürütür.

    Terminalde Bulut Kodlama Aracılarına değerlendirme atama işleminin ilerleme durumunu gösteren CLI'yi modernleştirin ekran görüntüsü.

    Aracı daha sonra uygulama başına değerlendirme sonuçlarını yerel ortama geri çeker ve toplanan raporu yerel olarak oluşturur.

    Terminalde Değerlendirme Raporlarının Birleştirildiğini Gösteren Modernize CLI Ekran Görüntüsü.

  7. Değerlendirme tamamlandığında aracı, toplanan raporu otomatik olarak açar.

Etkileşimli olmayan mod (CLI)

Komut bağımsız değişkenlerini doğrudan belirterek etkileşimli olmayan modu da kullanabilirsiniz. modernize assess komutunu kullanın:

Yerel olarak değerlendirme:

modernize assess --multi-repo

Bulut Kodlama Ajanlarına yetki vererek değerlendirin:

modernize assess --delegate cloud

Daha fazla bilgi için bkz. Değerlendirme - CLI komutları.

Toplanan raporu anlama

Toplanan rapor, değerlendirilen uygulamalar genelinde aşağıdaki gibi kapsamlı bir görünüm sağlar:

Dashboard

  • Portföy durumunun anlık görüntüsü: toplam uygulama sayısı, kaç yükseltmeye ihtiyacınız olduğu ve toplam engelleyici ve sorun sayısı.
  • Teknoloji dağıtımı: Hangi çerçevelerin kullanımda olduğunu ve kaç uygulamanın bunları paylaştığını.
  • Efor dağıtımı: Genel geçişin küçük veya büyük bir girişim olup olmadığı.

Öneriler

  • Azure Hizmetleri: Geçerli bağımlılıkları önerilen Azure eşdeğerleriyle eşler. Uygulamalar arasında paylaşılan bağımlılıklara bir kez karar verilir, bu nedenle uygulama başına yeniden çalışmaktan kaçınabilirsiniz.
  • Hedef Platform: Container Apps ve AKS gibi barındırma tercihlerini yönlendiren kılavuzlar sunar ve konsolidasyon fırsatlarını ortaya çıkarır.
  • Yükseltme Yolu: Yükseltme çalışmasını geçiş çalışmasından ayırarak hangi uygulamaların önkoşul olarak çerçeve yükseltmelerine ihtiyacı olduğunu tanımlar.
  • Geçiş Dalgaları: Uygulamaları hazırlığa ve risklere göre aşamalara göre sıralar. Bu yaklaşım, daha zor uygulamalar paralel olarak hazırlanırken erken kazanmayı sağlar.

Uygulama Değerlendirme Matrisi

  • Çerçeve, hedef platform, yükseltme önerisi, sorun dökümü (Zorunlu, Potansiyel, İsteğe bağlı), efor boyutlandırma ve daha birçok konuda her uygulama için hızlı genel bakış.
  • Gerektiğinde detaya gitmek için tek tek uygulama raporlarına bağlantılar.

Toplu iş değerlendirmesi sorunlarını giderme

Sık karşılaşılan sorunlar

Depo erişim hataları:

  • kullanarak gh auth statusGitHub kimlik doğrulamayı doğrulayın.
  • içinde repos.jsonlistelenen tüm depolara erişiminiz olduğundan emin olun.

Kopyalama hataları:

  • repos.json içindeki depo URL'lerinin doğru ve erişilebilir olduğunu doğrulayın.
  • Tüm depolar için doğru erişim izinlerine sahip olduğunuzdan emin olun.
  • Ağ bağlantınızı ve VPN ayarlarınızı denetleyin.

Değerlendirme hataları:

  • Depoda geçerli Java veya .NET projeleri olup olmadığını denetleyin.
  • , pom.xml, build.gradleveya *.csprojgibi *.slnderleme dosyalarının var olduğunu doğrulayın.
  • Konsol çıkışındaki hata iletilerini gözden geçirin.

Bulut Kodlama Ajanı delege etme sorunları:

  • GitHub Actions iş akışları oluşturmak için doğru izinlere sahip olduğunuzdan emin olun.
  • Kuruluşunuz için GitHub Actions izinlerini ve kota sınırlarını denetleyin.
  • .NET Framework uygulamaları için Windows çalıştırıcı yapılandırmasının düzgün ayarlandığından emin olun.
  • MCP sunucu yapılandırmanızı denetleyin.

Sonraki Adımlar

Toplu değerlendirmeyi tamamladıktan sonra şunları yapabilirsiniz:

Modernleştirme iş akışına devam edin:

Daha fazla bilgi edinin:

Geri bildirimde bulunun

Girdinize değer veririz! Toplu değerlendirme 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.