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 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.
- Aggregated report: Ö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ıldı (
gh auth login).
Depoları yapılandırma
Modernleştirme aracısı, değerlendirmek istediğiniz depoları belirtmek için birden çok yolu destekler:
- Geçerli klasör: Projeyi geçerli çalışma dizininizde değerlendirin.
- El ile giriş: Yerel dizin yollarını veya uzak Git URL'lerini doğrudan girin.
- Depo yapılandırma dosyası: Tüm depoları listeleyen bir JSON yapılandırma dosyası kullanın.
Depo yapılandırma dosyası
Birçok depoda toplu işlemler için, tüm depoları listelemek için bir JSON yapılandırma dosyası oluşturun. Örneğin, çalışma dizininizde .github/modernize/repos.json konumunda oluşturun veya özel bir yol sağlayın.
Depolara erişim izinlerinizin doğru olduğundan emin olun veya bu depoları çatallayın.
Basit biçim (depo dizisi):
[
{
"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"
}
]
Tam biçim (dal ve yerel yollarla):
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "local-project",
"path": "/absolute/path/to/project"
}
]
}
Her depo girişi aşağıdaki alanları destekler:
| Alan | Açıklama | Zorunlu |
|---|---|---|
name |
Depo için kolay bir ad (raporlarda ve panolarda kullanılır). | Evet |
url |
HTTPS veya SSH biçiminde Git kopyası URL'si. | Ya url ya da path birisi |
path |
Mutlak yerel dizin yolu. | Ya url ya da path birisi |
branch |
Kopyalamadan sonra geçilecek dal. | Hayır |
description |
İnsan tarafından okunabilen bir açıklama. | Hayır |
Uygulama gruplandırma ile tam biçim (isteğe bağlı, düzenli raporlama için):
Depoları mantıksal uygulamalar halinde gruplandırmak için bölüm apps[] ekleyebilirsiniz. Uygulamalar tanımlandığında, toplanan rapor sonuçları uygulamaya göre düzenler ve dış hedeflere rapor dağıtımını destekler.
{
"repos": [
{
"name": "PhotoAlbum-Java",
"url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git",
"branch": "main"
},
{
"name": "PhotoAlbum",
"url": "https://github.com/Azure-Samples/PhotoAlbum.git"
}
],
"apps": [
{
"identifier": "photo-app",
"description": "Photo management application",
"repos": ["PhotoAlbum-Java"],
"output": {
"type": "local",
"path": "/path/to/reports/photo-app"
}
}
]
}
Her uygulama girişi şu desteği destekler:
| Alan | Açıklama | Zorunlu |
|---|---|---|
identifier |
Uygulamanın benzersiz görüntüleme adı. | Evet |
description |
İnsan tarafından okunabilen bir açıklama. | Hayır |
repos |
Bu uygulamaya ait depo adlarının listesi. | Evet |
output |
Bu uygulamanın değerlendirme raporu oluşturulduktan sonra nereye dağıtılacağı. | Hayır |
alanı output aşağıdaki dağıtım türlerini destekler:
| Türü | Açıklama | Gerekli alanlar |
|---|---|---|
local |
Raporları yerel bir dizine kopyalayın. | path |
git |
Raporları git deposuna gönderme. URL biçimi şeklindedir https://github.com/org/repo.git#branch:path. |
url |
Tavsiye
Farklı kuruluşlardan depolar ekleyebilir ve erişiminiz olduğu sürece farklı kimlik doğrulama yöntemleri kullanabilirsiniz.
Modernleştirme aracısı, etkileşimli modda repos.json seçtiğinizde .github/modernize/repos.json dosyasını otomatik olarak algılar. Özel bir yol da sağlayabilirsiniz.
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. Hem Git URL'sini hem de yerel yol depolarını destekler.
- Cloud Kodlama Aracısı temsilcisi: Modernizasyon 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.
Önemli
Bulut Kodlama Agent delegasyonu, depoların GitHub (github.com) depo URL'lerine sahip olmasını gerektirir. Yerel yol depoları ve GitHub harici sağlayıcılar (GitLab, Azure DevOps) bulut yetkilendirmesi için desteklenmez. Bu depolar için yerel yürütmeyi kullanın.
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)
Modernleştirme aracısını çalıştırın:
modernizeAna menüden Değerlendir'i seçin.
Hedef depolarınızı nasıl belirleyeceğinizi seçin. Dosya kullanmak için Yapılandırma dosyasından'ı
repos.jsonseçin.Tavsiye
Yerel yolları veya uzak Git URL'lerini doğrudan girmek için El ile giriş'i veya geçerli dizininizdeki projeyi değerlendirmek için Geçerli klasör'ü de seçebilirsiniz.
repos.jsonDosya varsayılan konumda algılanırsa aracı dosyayı otomatik olarak doldurur. Aksi takdirde, yapılandırma dosyanızın yolunu girin ve Enter tuşuna basın.Tüm depolar varsayılan olarak seçilidir. Atlamak istediğiniz depoların seçimini kaldırın ve seçiminizi onaylamak için Enter tuşuna basın.
- Gezinmek için ok tuşlarını kullanın ve tek tek depoları açıp kapatmak için Boşluk Tuşu'na basın.
Yürütme modunu seçin. Yerel olarak değerlendir'i seçin.
Analiz etmek için değerlendirme etki alanlarını seçin. Java upgrade ve Bulut Uyumlu arasından seçim yapın ve Enter tuşuna basın.
Değerlendirme seçeneklerini gözden geçirin ve yapılandırın. Yapılandırma sayfasında dile ve etki alanına göre gruplandırılmış seçenekler gösterilir:
- Java / GENEL: Analiz Kapsamı (Yalnızca sorunlar, Sorunlar ve Teknolojiler veya Sorunlar, Teknolojiler ve Bağımlılıklar).
- Java / JAVA UPGRADE: Hedef Çalışma Zamanı (OpenJDK 11, 17 veya 21).
- Java / CLOUD READINESS: Hedef Hesaplama Hizmetleri, Hedef İşletim Sistemi ve Konteynerleştirme.
- .NET / BULUT HAZıRLıK: Hedef İşlem Hizmetleri.
Gezinmek için ok tuşlarını kullanın, değeri değiştirmek için Enter tuşuna basın veya geçerli ayarlara devam etmek için Devam'ı seçin.
Tavsiye
Önerilen varsayılanlar çoğu senaryo için çalışır. Bu ayarları yalnızca belirli bir JDK sürümünü hedefleme veya Azure işlem hizmeti gibi belirli gereksinimleriniz varsa değiştirmeniz gerekir.
Değerlendirme sonuçlarının çıkış yolunu girin veya varsayılanı kabul etmek için Enter tuşuna basın.
Aracı otomatik olarak çalışır:
Değerlendirme tamamlandığında aracı, toplanan raporu otomatik olarak açar.
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 üzerinde çalışacak şekilde yapılandırma
Varsayılan olarak, Copilot Kodlama Aracısı 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 .github/workflows/copilot-setup-steps.yaml dalında bulunan uygulama deponuzda main'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: Copilot kurulum adımlarıyla Copilot geliştirme ortamının özelleştirilmesi
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:
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 Modernleştirme MCP Sunucusu'nu yapılandırın:
{
"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:
modernizeAna menüden Değerlendir'i seçin.
Hedef depolarınızı nasıl belirleyeceğinizi seçin. Bir yapılandırma dosyasından
repos.jsondosyasını kullanmak için seçin veya doğrudan GitHub depo URL'lerini girmek için Manuel giriş seçin.'Yapılandırma dosyasından' seçtiyseniz ve
repos.jsondosya varsayılan konumda algılanırsa, aracı otomatik olarak doldurur. Aksi takdirde, yapılandırma dosyanızın yolunu girin ve Enter tuşuna basın.Tüm depolar varsayılan olarak seçilidir. Atlamak istediğiniz depoların seçimini kaldırın ve seçiminizi onaylamak için Enter tuşuna basın.
- Gezinmek için ok tuşlarını kullanın ve tek tek depoları açıp kapatmak için Boşluk Tuşu'na basın.
Yürütme modunu seçin. Bulut Ajanlarına Temsilci Ata seçin.
Uyarı
Bulut Kodlama Aracıları'na temsilci seçtiğinizde, etki alanı seçimi ve değerlendirme yapılandırma adımları desteklenmez. Bulut aracısı, değerlendirmeyi çalıştırmak için varsayılan yapılandırmaları kullanır.
Değerlendirme sonuçlarının çıkış yolunu girin veya varsayılanı kabul etmek için Enter tuşuna basın.
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.
Aracı, uygulama başına değerlendirme sonuçlarını yerel ortama geri çeker ve toplanan raporu yerel olarak oluşturur.
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:
Depo yapılandırma dosyası kullanarak yerel olarak değerlendirme:
modernize assess --source .github/modernize/repos.json
Kaynakları doğrudan belirterek birden çok depoyı değerlendirin:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
Bulut Kodlama Ajanlarına yetki vererek değerlendirin:
modernize assess --source .github/modernize/repos.json --delegate cloud --wait
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: Azure Container Apps ve AKS gibi barındırma seçeneklerini yönlendirir ve konsolidasyon fırsatlarını gösterir.
- 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ı:
-
gh auth statuskullanarak GitHub kimlik doğrulamayı doğrulayın. - içinde
repos.jsonlistelenen tüm depolara erişiminiz olduğundan emin olun.
Kopyalama hataları:
-
repos.jsoniç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.
- Doğrulayın:
pom.xml,build.gradle,*.csproj,*.slnveya*.slnxgibi derleme dosyalarının mevcut olduğunu. - 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:
- Depolar arasında toplu yükseltme çalıştırma - Değerlendirme bulgularına göre tutarlı yükseltmeler uygulayın.
Daha fazla bilgi edinin:
Geri bildirimde bulunun
Girişiniz önemlidir! 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.