Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memberikan gambaran umum tentang bagaimana pengembang Java dapat memodernisasi aplikasi mereka dengan menggunakan GitHub Copilot modernisasi plugin di Copilot CLI. Dengan menggunakan pendekatan ini, pengembang dapat memodernisasi aplikasi di mana pun mereka membuat kode. Plugin ini memberikan pengalaman end-to-end yang mulus - dari peningkatan dan migrasi ke penyebaran - membantu tim mempercepat transformasi, meningkatkan produktivitas, dan dengan percaya diri memindahkan aplikasi mereka ke platform modern.
Nota
GitHub Copilot CLI tersedia dengan paket GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business, dan GitHub Copilot Enterprise. Jika Anda menerima Copilot dari organisasi, kebijakan CLI Copilot harus diaktifkan di pengaturan organisasi.
Dengan menggunakan Copilot CLI untuk modernisasi, Anda dapat menjalankan tugas modernisasi langsung dari terminal, tanpa perlu beralih ke IDE. Pendekatan ini mendukung alur kerja interaktif - human-in-the-loop - dan batch.
Apa yang dapat Anda lakukan
| Capability | Deskripsi |
|---|---|
| peningkatan Java | Meningkatkan versi Java (8 → 11 → 17 → 21 → 25), memigrasikan Spring Boot 2.x ke 3.x, javax ke jakarta, dan API yang tidak digunakan lagi |
| Migrasi Azure | Menilai dan memigrasikan aplikasi Java ke layanan Azure (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, Identitas Terkelola) |
| CVE dan perbaikan kerentanan | Memindai dan memperbaiki kerentanan CVE dalam dependensi Maven, termasuk analisis dependensi Log4j, Spring, Jackson, dan OWASP |
| Arsitektur ulang aplikasi | Penulisan ulang struktural seperti dekomposisi monolit menjadi layanan mikro, modernisasi UI lama, dan ekstraksi modul |
| Sebarkan ke Azure | Menyebarkan aplikasi Java yang ditingkatkan atau dimigrasikan langsung ke Azure |
Prasyarat
- GitHub Copilot CLI.
- Langganan GitHub Copilot. Untuk informasi selengkapnya, lihat paket Copilot.
- Node.js versi 22 atau yang lebih baru.
Nota
Akun Azure diperlukan hanya untuk menyebarkan sumber daya ke Azure, dan tidak diperlukan saat menggunakan modernisasi GitHub Copilot untuk membuat perubahan kode.
Instal plugin
Tambahkan marketplace dan instal plugin:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationPastikan plugin diinstal dengan mencantumkan plugin yang terinstal:
/plugin listAnda akan melihat
github-copilot-modernization@github-copilot-modernizationdalam daftar.
Tip
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 Java Anda dan mulai Copilot CLI dengan agen modernisasi:
cd /path/to/your/java-app
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 modernize dari daftar.
Important
Anda harus memilih github-copilot-modernization:modernize agen sebelum menjalankan perintah modernisasi apa pun. Tanpa memilih agen, Copilot CLI menggunakan agen default, yang tidak dapat menggunakan orkestrasi multi-agen penuh dan kemampuan migrasi khusus yang disediakan oleh plugin.
Menjalankan perintah modernisasi
Setelah agen aktif, jelaskan apa yang Anda inginkan dalam bahasa alami:
modernize my application
Atau lebih spesifik:
upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
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
- Menemukan aplikasi Java di jalur yang ditentukan.
- Menganalisis dependensi, kerangka kerja, dan versi Java.
- Mengidentifikasi peluang dan risiko modernisasi.
- Menyimpan hasil ke
.github/modernize/assessment/.
Fase 2: Perencanaan
- Memuat hasil penilaian.
- Menghasilkan rencana tugas yang dapat dieksekusi.
- Menyimpan rencana ke
.github/modernize/<app>/plan.mddantasks.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 | "tingkatkan ke Java 21" | 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 |
Skenario umum
Meningkatkan aplikasi Java Anda
Untuk meningkatkan aplikasi Java Anda ke runtime atau versi kerangka kerja yang lebih baru, gunakan contoh berikut:
copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2
Tugas modernisasi kemudian dijalankan, termasuk menghasilkan rencana peningkatan, melakukan remediasi kode, membangun proyek, dan memeriksa kerentanan seperti yang ditunjukkan pada cuplikan layar berikut:
Proyek ini berhasil ditingkatkan ke JDK 21 dan Spring Boot 3.2, dan ringkasan peningkatan ditampilkan.
Memigrasikan aplikasi Java Anda ke Azure
Untuk memigrasikan aplikasi Java Anda ke Azure, jelaskan skenario migrasi Anda, seperti yang ditunjukkan dalam contoh berikut. Untuk informasi selengkapnya tentang tugas migrasi yang telah ditentukan sebelumnya, lihat Tugas yang Telah Ditentukan untuk modernisasi GitHub Copilot bagi pengembang Java.
copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage
Dengan perintah ini, tugas migrasi dijalankan dan menunjukkan kemajuan dalam CLI Copilot.
Saat proyek berhasil dimigrasikan ke Microsoft Azure Blob Storage, ringkasan migrasi ditampilkan.
Menyebarkan aplikasi Java Anda ke Azure
Setelah memutakhirkan atau memigrasikan aplikasi, Anda dapat menyebarkannya langsung dari Copilot CLI dengan menggunakan contoh berikut:
copilot --agent=github-copilot-modernization:modernize
Scan my project and help me plan how to containerize my application using the #appmod-get-containerization-plan tool. Execute the plan. The end goal is to have Dockerfiles that are able to be built.
Dengan menggunakan perintah ini, tugas penyebaran berjalan dan menunjukkan kemajuan dalam Copilot CLI.
Ketika proyek berhasil disebarkan, ringkasan penyebaran ditampilkan.
Troubleshooting
Plugin tidak ditemukan
# Verify marketplace is added
copilot plugin marketplace list
# Re-add the 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 Java yang ditemukan
- Verifikasi
pom.xmlataubuild.gradleada di akar proyek Anda. - 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, coba instal ulang plugin untuk mengatur ulang konfigurasi MCP.
Berikan umpan balik
Jika Anda memiliki masukan tentang plugin modernisasi GitHub Copilot, buat issue pada repositori github-copilot-appmod.