Copilot CLI'da GitHub Copilot modernizasyonunu kullanarak .NET uygulamalarını Azure'a taşıma

Genel Bakış

Copilot CLI içindeki GitHub Copilot modernizasyon eklentisini kullanarak .NET uygulamaları Azure geçirmeyi öğrenin.

Eklenti, .NET uygulamanızı değerlendiren, yürütülebilir bir modernizasyon planı oluşturan ve geçişi terminalden gerçekleştiren otonom, çok aracılı bir iş akışı sağlar. Azure geçişlerini, CVE güvenlik açığı düzeltmelerini ve uygulama yeniden tasarlamayı destekler.

Uyarı

GitHub Copilot CLI; GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business ve GitHub Copilot Enterprise planlarında kullanılabilir. Bir kuruluş aracılığıyla Copilot alırsanız, yöneticinin kuruluş ayarlarında Copilot CLI ilkesini etkinleştirmesi gerekir.

Yapabilecekleriniz

Kapasite Açıklama
.NET'in Azure'a geçişi NuGet güvenlik denetimleri ve ASP.NET-Azure geçişleri dahil olmak üzere .NET uygulamalarını değerlendirme ve Azure hizmetlerine (Service Bus, Azure SQL, Redis, Key Vault, Application Insights, Yönetilen Kimlik) geçirme
CVE ve güvenlik açığı düzeltme NuGet bağımlılıklarındaki CVE güvenlik açıklarını tarama ve düzeltme
Uygulama arka mimarisi Monolitten mikro hizmetlere ayrıştırma, eski kullanıcı arayüzünün modernleştirilmesi ve modül çıkarma gibi yapısal yeniden yazımlar

Önkoşullar

Eklentiyi yükleme

  1. Copilot CLI'yı başlatmak için terminalde copilot çalıştırın.

    copilot
    
  2. Marketi ekleyin ve eklentiyi yükleyin:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  3. Yüklü eklentileri listeleyerek eklentinin yüklendiğini doğrulayın:

    /plugin list
    

    Listede github-copilot-modernization:modernize görmeniz gerekir.

Eklentiyi güncelleştirme

Yeni bir sürüm kullanılabilir olduğunda eklentiyi güncelleştirmek için şunu çalıştırın:

copilot plugin update github-copilot-modernization@github-copilot-modernization

Modernleştirme görevi başlatma

1. Seçenek: Doğrudan aracıyla başlayın

.NET proje klasörünüze gidin ve Copilot CLI’yi modernleştirme aracısıyla başlatın:

cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize

2. Seçenek: Copilot CLI'nın içinden aracıyı seçin

Zaten bir Copilot CLI oturumundaysanız, modernleştirme aracısına geçmek için /agent komutunu kullanın:

/agent

Listeden github-copilot-modernization:modernize seçin.

Important

Herhangi bir modernleştirme istemi çalıştırmadan önce aracıyı github-copilot-modernization:modernize seçmeniz gerekir. Bu aracı seçmeden, Copilot CLI varsayılan aracıyı kullanır; bu aracı eklenti tarafından sağlanan tam çok aracılı orkestrasyonu, kurumsal playbook desteğini ve özelleşmiş geçiş yeteneklerini kullanamaz.

Modernleştirme istemi çalıştırma

Aracı etkin olduğunda, ne istediğinizi doğal dilde açıklayın:

copilot> modernize my application

Veya daha ayrıntılı bilgi:

copilot> modernize my .NET application for Azure
copilot> migrate this app from local SQL Server to Azure SQL Database
copilot> fix CVE vulnerabilities in my project

Katılımsız yürütme için --allow-all bayrağını kullanın:

copilot --agent=github-copilot-modernization:modernize --allow-all

İş akışı nasıl çalışır?

Eklenti, otomatik olarak çalışan üç aşamalı bir iş akışı kullanır. Her aşamayı el ile çağırmanız gerekmez; orchestrator yönlendirmeyi isteğinize göre işler.

1. Aşama: Değerlendirme

  • .NET proje yapısını algılar ve uygun çözümleme araçlarını kullanır.
  • Bağımlılıkları, çerçeveleri ve sürümleri analiz eder.
  • Modernleştirme fırsatlarını ve risklerini tanımlar.
  • Sonuçları .github/modernize/assessment/ öğesine kaydeder.

2. Aşama: Planlama

  • Değerlendirme sonuçlarını ve kurumsal playbook kısıtlamalarını yükler (varsa).
  • Yürütülebilir bir görev planı oluşturur.
  • Planı .github/modernize/<app>/plan.md ve tasks.json öğelerine kaydeder.

3. Aşama: Yürütme

  • Görevleri, görev türüne göre özelleştirilmiş yürütücü aracılarına yönlendirir.
  • Her yürütücü, geçiş desenleri için bir bilgi bankası sorgular.
  • Hata durumunda otomatik yeniden deneme ile ilerleme durumunu izler.
  • Gözden geçirmek üzere ayrıntılı görev başına işlemeler oluşturur.

Düzenleyici, amacınıza bağlı olarak birden çok giriş noktası destekler:

Workflow Etkinleştirildiğinde Ne olur?
Geniş amaç "uygulamamı modernleştir" Uçtan uca değerlendir → planla → yürüt iş hattı
Belirli görev "SQL Server'dan Azure SQL geçiş" Değerlendirmeyi atlar, doğrudan planlama → yürütmeye gider
Mevcut planı yürütme "planı yürüt" Değerlendirme ve planlamayı atlar, mevcut bir planı çalıştırır
Arayüzsüz --allow-all ile gözetimsiz yürütme Kullanıcı istemleri olmadan geniş niyetle aynı

Kurumsal modernleştirme ilkelerini tanımlama

Kuruluşlar modernleştirme amaçlarını (hedef mimariler, yükseltme standartları ve uyumluluk ilkeleri) doğrudan playbook aracılığıyla iş akışına ekleyebilir. Bu yaklaşım, oluşturulan her planın, her kararı el ile gözden geçirmeden kurumsal standartlara uygun olmasını sağlar.

Playbook’u yapılandırın

Markdown dosyalarını projenizin dizinine .github/modernize/playbook/ yerleştirin. Planlama aşaması, görev planını oluşturmadan önce bu klasördeki tüm .md dosyaları otomatik olarak okur ve değerlendirme sonuçlarıyla birleştirir.

Important

Playbook kısıtlamaları değerlendirme önerilerini geçersiz kılar. Playbook'unuz "mesajlaşma için Azure Service Bus kullan" seçeneğini belirtirse, değerlendirmenin ne bulmasına bakılmaksızın bu seçim öncelikli olur.

Playbook'ta tanımlayabileceğinizler

İlke türü Examples
Hedef mimariler İşlem hizmetleri (App Service, AKS, Container Apps), veritabanı seçimleri (Azure SQL, Cosmos DB), mesajlaşma platformları (Service Bus, Event Hubs)
Yükseltme standartları Hedef .NET sürümü, çerçeve geçiş yolları
Korkuluklar Yasaklanmış teknolojiler, güvenlik gereksinimleri, uyumluluk kısıtlamaları, kimlik doğrulama standartları
Kodlama standartları Adlandırma kuralları, kimlik doğrulama kalıpları, günlükleme çerçeveleri
Geçiş stratejisi Kapsam sınırları, 6R sınıflandırma tercihleri (yeniden barındırma ve yeniden düzenleme ve yeniden mimari oluşturma), phasing stratejisi

Örnek kılavuz

konumunda .github/modernize/playbook/enterprise-standards.mdbir dosya oluşturun:

# Enterprise Modernization Standards

## Target Architecture
- Use Azure Container Apps for microservices deployments
- Use Azure Service Bus for all asynchronous messaging
- Use Azure SQL Database for relational data
- Use Azure Blob Storage for file storage

## Security & Compliance
- All services must authenticate using Managed Identity — no connection strings or passwords in code
- All public endpoints must be behind Azure Front Door

## Guardrails
- Do not use Azure Functions for long-running processes
- All infrastructure must be defined in Bicep

Sabit adlandırma veya yapı gerekmez; düzenleyici her dosyanın amacını içeriğinden çıkarsar.

Yerleşik varsayılanlar

Bir yönerge olmadan eklenti uygun varsayılan ayarları kullanır:

  • Azure: Kimlik doğrulaması için Yönetilen Kimlik; ilişkisel veriler için yönetilen veritabanı hizmetleri.
  • Messaging: Şirket içi mesajlaşma → Azure Service Bus.
  • Altyapı: varsayılan olarak Bicep.

Yaygın senaryolar

Azure'a geçiş

copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure

Yerel SQL Server’dan Azure SQL’e geçirme

copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local SQL Server to Azure SQL Database with managed identity

Dosya G/Ç’den Azure Blob Depolama’a geçiş

copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local file I/O to Azure Blob Storage

CVE ve güvenlik düzeltmesi

copilot --agent=github-copilot-modernization:modernize
copilot> fix CVE vulnerabilities in my project

Uygulamanın yeniden mimarisi

copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices

Tam modernleştirme

copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application

Troubleshooting

Eklenti bulunamadı

# Verify marketplace is added
copilot plugin marketplace list

# Re-add marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization

# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization

Değerlendirme başarısız oluyor: uygulama bulunamadı

  • Proje kökünüzün .csproj veya .sln dosyasını içerdiğini doğrulayın.
  • Copilot CLI'yi başlatmadan önce doğru dizinde olduğunuzdan emin olun.

MCP sunucusu sorunları

Eklenti, yapılandırmasında tanımlanan MCP sunucusunu kullanır. Sorunlarla karşılaşırsanız MCP yapılandırmasını sıfırlamak için eklentiyi yeniden yükleyin.

Geri bildirimde bulunun

GitHub Copilot CLI geri bildirim formunu kullanarak GitHub Copilot CLI hakkında geri bildirim paylaşın.

Reference