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.
Bu makalede, Java geliştiricilerin Copilot CLI içindeki GitHub Copilot modernleştirme eklentisini kullanarak uygulamalarını nasıl modernleştirebileceğine ilişkin genel bir bakış sağlanmaktadır. Geliştiriciler bu yaklaşımı kullanarak uygulamaları kodladıkları her yerde modernleştirebilir. Eklenti, yükseltme ve geçişten dağıtıma kadar sorunsuz, uçtan uca bir deneyim sunar. Ekiplerin dönüşümü hızlandırmasına, üretkenliği artırmasına ve uygulamalarını modern platformlara güvenle taşımasına yardımcı olur.
Uyarı
GitHub Copilot CLI, GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business ve GitHub Copilot Enterprise planlarıyla kullanılabilir. Bir kuruluştan Copilot alırsanız, Copilot CLI ilkesi kuruluşun ayarlarında etkinleştirilmelidir.
Modernleştirme için Copilot CLI kullanarak, IDE'ye geçiş yapmanız gerekmeyen modernleştirme görevlerini doğrudan terminalden çalıştırabilirsiniz. Bu yaklaşım hem etkileşimli - insanlı döngü - hem de toplu iş akışlarını destekler.
Yapabilecekleriniz
| Kapasite | Description |
|---|---|
| Java yükseltmesi | Java sürümünü yükseltme (8 → 11 → 17 → 21 → 25), Spring Boot 2.x'i 3.x'e, javax'ı jakarta'ya ve kullanım dışı API'leri geçirme |
| Azure migration | Java uygulamalarını değerlendirme ve Azure hizmetlerine geçirme (Azure Service Bus, Azure SQL, Redis, Azure Key Vault, Application Insights, Yönetilen Kimlik) |
| CVE ve güvenlik açığı düzeltme | Log4j, Spring, Jackson ve OWASP bağımlılık analizi gibi Maven bağımlılıklarındaki CVE güvenlik açıklarını tarayın ve düzeltin |
| 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 |
| Azure’a dağıtın | Yükseltilmiş veya taşınan Java uygulamalarını doğrudan Azure'a dağıtın |
Önkoşullar
- GitHub Copilot CLI.
- GitHub Copilot aboneliği. Daha fazla bilgi için bkz. Copilot plans.
- Node.js sürüm 22 veya üzeri.
Uyarı
Azure hesabı yalnızca kaynakları Azure dağıtmak için gereklidir ve kod değişiklikleri yapmak için GitHub Copilot modernleştirme kullanılırken gerekli değildir.
Eklentiyi yükleme
Marketi ekleyin ve eklentiyi yükleyin:
copilot plugin marketplace add microsoft/github-copilot-modernization copilot plugin install github-copilot-modernization@github-copilot-modernizationYüklü eklentileri listeleyerek eklentinin yüklendiğini doğrulayın:
/plugin listListede
github-copilot-modernization@github-copilot-modernizationgörmeniz gerekir.
Tavsiye
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
Java proje klasörünüze gidin ve modernleştirme aracısı ile CLI'Copilot başlatın:
cd /path/to/your/java-app
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 modernize seçin.
Important
Herhangi bir modernleştirme istemlerini çalıştırmadan önce aracıyı github-copilot-modernization:modernize seçmeniz gerekir. Aracı seçmezseniz, Copilot CLI varsayılan aracıyı kullanır; bu aracı, eklentinin sağladığı tam çok aracılı orkestrasyon ve uzmanlaşmış geçiş yeteneklerinden yararlanamaz.
Modernleştirme istemi çalıştırma
Aracı etkin olduğunda, ne istediğinizi doğal dilde açıklayın:
modernize my application
Veya daha ayrıntılı bilgi:
upgrade this app to Java 21 and Spring Boot 3.2
migrate this Spring Boot app to Azure
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
- Belirtilen yolda Java uygulamaları bulur.
- Bağımlılıkları, çerçeveleri ve Java sürümünü 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ı yükler.
- Yürütülebilir bir görev planı oluşturur.
- Planı
.github/modernize/<app>/plan.mdvetasks.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 | "Java 21'e yükselt" | 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ı |
Yaygın senaryolar
Java uygulamanızı yükseltme
Java uygulamanızı daha yeni bir çalışma zamanı veya çerçeve sürümüne yükseltmek için aşağıdaki örneği kullanın:
copilot --agent=github-copilot-modernization:modernize
upgrade this project to JDK 21 and Spring Boot 3.2
Ardından, aşağıdaki ekran görüntüsünde gösterildiği gibi yükseltme planı oluşturma, kod düzeltme gerçekleştirme, projeyi oluşturma ve güvenlik açıklarını denetleme gibi modernleştirme görevi yürütülür:
Proje başarıyla JDK 21 ve Spring Boot 3.2'ye yükseltilir ve bir yükseltme özeti görüntülenir.
Java uygulamanızı Azure geçirme
Java uygulamanızı Azure geçirmek için, aşağıdaki örnekte gösterildiği gibi geçiş senaryonuzu açıklayın. Önceden tanımlanmış geçiş görevleri hakkında daha fazla bilgi için Java geliştiricileri için GitHub Copilot modernleştirme için önceden tanımlanmış görevler başlıklı bölüme bakın.
copilot --agent=github-copilot-modernization:modernize
migrate this application from S3 to Azure Blob Storage
Bu istemle, geçiş görevi yürütülür ve Copilot CLI'da ilerleme durumunu gösterir.
Proje Microsoft Azure Blob Depolama'a başarıyla geçirildiğinde bir geçiş özeti görüntülenir.
Java uygulamanızı Azure dağıtma
Uygulamanızı yükselttikten veya geçirdikten sonra, aşağıdaki örneği kullanarak doğrudan Copilot CLI'dan dağıtabilirsiniz:
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.
Bu istemi kullanarak dağıtım görevi çalışır ve Copilot CLI'da ilerleme durumunu gösterir.
Proje başarıyla dağıtıldığında bir dağıtım özeti görüntülenir.
Troubleshooting
Eklenti bulunamadı
# 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
Değerlendirme başarısız oluyor: Java uygulama bulunamadı
-
pom.xmlveyabuild.gradleöğesinin proje kök dizininizde bulunduğunu 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üklemeyi deneyin.
Geri bildirimde bulunun
GitHub Copilot modernleştirme eklentisi hakkında geri bildiriminiz varsa github-copilot-appmod deposunda sorun oluşturun.