Memigrasikan aplikasi .NET ke Azure dengan menggunakan modernisasi GitHub Copilot di Copilot CLI

Gambaran Umum

Pelajari cara memigrasikan aplikasi .NET ke Azure dengan menggunakan modernisasi GitHub Copilot di plugin Copilot CLI.

Plugin ini menyediakan alur kerja multi-agen otonom yang menilai aplikasi .NET Anda, menghasilkan rencana modernisasi yang dapat dieksekusi, dan melakukan migrasi—semuanya dari terminal. Ini mendukung migrasi Azure, perbaikan kerentanan CVE, dan rearchitecture aplikasi.

Nota

GitHub Copilot CLI tersedia dalam paket GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business, dan GitHub Copilot Enterprise. Jika Anda menerima Copilot melalui organisasi, admin harus mengaktifkan kebijakan Copilot CLI di pengaturan organisasi.

Apa yang dapat Anda lakukan

Capability Deskripsi
Migrasi .NET ke Azure Menilai dan memigrasikan aplikasi .NET ke layanan Azure (Bus Layanan, Azure SQL, Redis, Key Vault, Application Insights, Identitas Terkelola), termasuk audit keamanan NuGet dan migrasi ASP.NET-ke-Azure
CVE dan perbaikan kerentanan Memindai dan memperbaiki kerentanan CVE dalam dependensi NuGet
Arsitektur ulang aplikasi Penulisan ulang struktural seperti dekomposisi monolit menjadi layanan mikro, modernisasi UI lama, dan ekstraksi modul

Prasyarat

Instal plugin

  1. Di terminal, jalankan copilot untuk memulai CLI Copilot.

    copilot
    
  2. Tambahkan marketplace dan instal plugin:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  3. Pastikan plugin diinstal dengan mencantumkan plugin yang terinstal:

    /plugin list
    

    Anda akan melihat github-copilot-modernization:modernize dalam daftar.

Memperbarui plugin

Untuk memperbarui plugin saat versi baru tersedia, jalankan:

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

Memulai tugas modernisasi

Opsi 1: Mulai dengan agen secara langsung

Navigasikan ke folder proyek .NET Anda dan mulai Copilot CLI dengan agen modernisasi:

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

Opsi 2: Pilih agen dari dalam Copilot CLI

Jika Anda sudah berada dalam sesi CLI Copilot, gunakan perintah /agent untuk beralih ke agen modernisasi:

/agent

Pilih github-copilot-modernization:modernize dari daftar.

Important

Anda harus memilih github-copilot-modernization:modernize agen sebelum menjalankan perintah modernisasi apa pun. Tanpa agen ini dipilih, Copilot CLI menggunakan agen default, yang tidak dapat menggunakan orkestrasi multi-agen penuh, dukungan playbook perusahaan, dan kemampuan migrasi khusus yang disediakan plugin.

Menjalankan perintah modernisasi

Setelah agen aktif, jelaskan apa yang Anda inginkan dalam bahasa alami:

copilot> modernize my application

Atau lebih spesifik:

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

Untuk eksekusi tanpa pengawas, gunakan --allow-all bendera:

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

Cara kerja alur kerja

Plugin menggunakan alur kerja tiga fase yang berjalan secara otomatis. Anda tidak perlu memanggil setiap fase secara manual—orkestrator menangani perutean berdasarkan permintaan Anda.

Fase 1: Penilaian

  • Mendeteksi struktur proyek .NET dan menggunakan alat analisis yang sesuai.
  • Menganalisis dependensi, kerangka kerja, dan versi.
  • Mengidentifikasi peluang dan risiko modernisasi.
  • Menyimpan hasil ke .github/modernize/assessment/.

Fase 2: Perencanaan

  • Memuat hasil penilaian dan batasan playbook perusahaan (jika ada).
  • Menghasilkan rencana tugas yang dapat dieksekusi.
  • Menyimpan rencana ke .github/modernize/<app>/plan.md dan tasks.json.

Fase 3: Eksekusi

  • Merutekan tugas ke agen pelaksana khusus berdasarkan jenis tugas.
  • Setiap pelaksana meminta pangkalan pengetahuan untuk pola migrasi.
  • Memantau kemajuan dengan coba lagi otomatis saat gagal.
  • Membuat commit terperinci untuk setiap tugas untuk ditinjau.

Orkestrator mendukung beberapa titik masuk tergantung pada niat Anda:

Workflow Saat aktif Apa yang terjadi
Maksud umum "modernisasi aplikasi saya" Alur lengkap menilai → merencanakan → menjalankan
Tugas tertentu "Bermigrasi dari SQL Server ke Azure SQL" Melewati penilaian, langsung ke perencanaan → eksekusi
Jalankan rencana yang ada "jalankan rencana" Melewati penilaian dan perencanaan, menjalankan rencana yang ada
Headless Eksekusi tanpa pengawas dengan --allow-all Sama seperti niat luas tanpa permintaan pengguna

Menentukan kebijakan modernisasi perusahaan

Organisasi dapat menyematkan niat modernisasi mereka—arsitektur target, standar peningkatan, dan kebijakan kepatuhan—langsung ke alur kerja melalui playbook. Pendekatan ini memastikan setiap rencana yang dihasilkan selaras dengan standar perusahaan tanpa peninjauan manual dari setiap keputusan.

Siapkan buku panduan

Tempatkan file Markdown di .github/modernize/playbook/ direktori proyek Anda. Fase perencanaan secara otomatis membaca semua .md file dalam folder ini dan menggabungkannya dengan hasil penilaian sebelum menghasilkan rencana tugas.

Important

Batasan playbook mengambil alih rekomendasi penilaian. Jika playbook Anda menetapkan "gunakan Azure Service Bus untuk pengiriman pesan", pilihan tersebut menjadi prioritas terlepas dari apa pun yang ditemukan oleh penilaian.

Apa yang bisa Anda tentukan dalam buku panduan

Jenis kebijakan Examples
Arsitektur target Layanan komputasi (App Service, AKS, Container Apps), pilihan database (Azure SQL, Cosmos DB), platform olahpesan (Bus Layanan, Azure Event Hubs)
Meningkatkan standar Versi .NET yang dituju, jalur migrasi kerangka kerja
Batas Pengaman Teknologi yang dilarang, persyaratan keamanan, batasan kepatuhan, standar autentikasi
Standar pengkodian Konvensi penamaan, pola autentikasi, kerangka kerja pengelogan
Strategi migrasi Batasan cakupan, preferensi klasifikasi 6R (rehost vs. refaktor vs. arsitektur ulang), strategi pentahapan

Contoh buku panduan

Buat file di .github/modernize/playbook/enterprise-standards.md:

# 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

Tidak diperlukan penamaan atau struktur tetap—orkestrator menyimpulkan tujuan setiap file dari kontennya.

Setelan bawaan

Tanpa playbook, plugin menerapkan default yang masuk akal:

  • Azure: Identitas Terkelola untuk autentikasi; layanan database terkelola untuk data relasional.
  • Messaging: Pesan lokal → Azure Service Bus.
  • Infrastructure: Bicep secara bawaan.

Skenario umum

Migrasi Azure

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

Bermigrasi dari SQL Server lokal ke Azure SQL

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

Migrasi dari I/O file ke Azure Blob Storage

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

CVE dan perbaikan keamanan

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

Arsitektur ulang aplikasi

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

Modernisasi penuh

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

Troubleshooting

Plugin tidak ditemukan

# 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

Penilaian gagal: tidak ada aplikasi yang ditemukan

  • Verifikasi bahwa akar proyek Anda berisi .csproj file atau .sln .
  • Pastikan Anda berada di direktori yang benar sebelum memulai Copilot CLI.

Masalah server MCP

Plugin menggunakan server MCP yang ditentukan dalam konfigurasinya. Jika Anda mengalami masalah, instal ulang plugin untuk mengatur ulang konfigurasi MCP.

Berikan umpan balik

Bagikan umpan balik tentang CLI GitHub Copilot dengan menggunakan formulir umpan balik CLI GitHub Copilot.

Reference