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.
GitHub Copilot modernleştirme aracısı, uygulama modernleştirmesi için hem etkileşimli hem de etkileşimli olmayan modlar sağlar.
Komut modları
Etkileşimli mod
Destekli modernleştirme için etkileşimli Metin Kullanıcı Arabirimi'ni (TUI) başlatın:
modernize
Etkileşimli mod aşağıdakileri sağlar:
- Modernleştirme iş akışında menü tabanlı gezinti.
- Esnek kaynak seçimi: geçerli klasör, el ile giriş (yerel yollar veya Git URL'leri) veya depo yapılandırma dosyaları.
- Görsel plan ve ilerleme göstergeleri.
- Değerlendirme etki alanları ve parametreler de dahil olmak üzere yapılandırma seçenekleri için kılavuzlu istemler.
- Çok depolu seçim arabirimi.
Etkileşimli olmayan mod
Otomasyon ve betik oluşturma için belirli komutları doğrudan yürütebilirsiniz:
modernize <command> [options]
Aşağıdaki durumlarda etkileşimli olmayan modu kullanın:
- CI/CD işlem hatları ile tümleştirme.
- Toplu işlemleri otomatikleştirme.
- Betik oluşturma modernleştirme iş akışları.
- Başsız ortamlarda çalıştırma.
Genel seçenekler
Tüm komutlar şu genel seçenekleri destekler:
| Seçenek | Açıklama |
|---|---|
--help, -h |
Yardım bilgilerini görüntüler. |
--no-tty |
Etkileşimli istemleri (başsız mod) devre dışı bırakır. |
Commands
Değerlendirmek
Bir değerlendirme çalıştırır ve kapsamlı bir analiz raporu oluşturur.
Sözdizimi
modernize assess [options]
Options
| Seçenek | Açıklama | Varsayılan |
|---|---|---|
--source <source> |
Değerlendirilecek kaynak (yinelenebilir). Yerel yolları, Git URL'lerini veya JSON yapılandırma dosya yolunu kabul eder. Birden çok depo belirtmek için birden çok --source bayrak kullanın. |
. (geçerli dizin) |
--output-path <path> |
Değerlendirme sonuçları için özel çıkış yolu. | .github/modernize/assessment/ |
--issue-url <url> |
Değerlendirme özetiyle güncelleştirilecek GitHub sorun URL'si. | Hiçbiri |
--format <format> |
Değerlendirme raporları için çıkış biçimi: html veya markdown. |
html |
--assess-config <path> |
Hedef çalışma zamanı, işlem hizmetleri ve analiz kapsamı gibi varsayılan değerlendirme parametrelerini geçersiz kılan bir değerlendirme yapılandırması YAML dosyasının yolu. | Otomatik olarak bulunan veya varsayılan değerler |
--model <model> |
Kullanılacak LLM modeli. | claude-sonnet-4.6 |
--delegate <delegate> |
Yürütme modu: local (bu makine) veya cloud (Bulut Kodlama Aracısı). |
local |
--wait |
Temsilci atanan görevlerin tamamlanmasını ve sonuç oluşturmasını bekler (yalnızca ile --delegate cloudgeçerlidir). |
Disabled |
--force |
Devam eden görevleri yoksayarak temsilci seçmeyi yeniden başlatmaya zorlar (yalnızca ile --delegate cloudgeçerlidir). |
Disabled |
Örnekler
Geçerli dizinin temel değerlendirmesi:
modernize assess
Özel çıkış konumuyla değerlendirme:
modernize assess --output-path ./reports/assessment
Sonuçlarla ilgili GitHub sorunu değerlendirin ve güncelleştirin:
modernize assess --issue-url https://github.com/org/repo/issues/123
Belirli proje dizinini değerlendirin:
modernize assess --source /path/to/project
Yapılandırma dosyası kullanarak birden çok depo 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
Raporları markdown biçiminde değerlendirin ve çıktı alın:
modernize assess --format markdown
Çıkış
Değerlendirme aşağıdakini oluşturur:
- Rapor dosyaları: JSON, MD ve HTML biçimlerinde ayrıntılı analiz.
- Özet: Önemli bulgular ve öneriler.
-
güncelleştirmeleri yayımlar (
--issue-urlsağlarsanız): özetle birlikte sorun açıklaması GitHub.
plan oluşturma
Modernleştirme hedeflerinizi açıklayan doğal dil istemini temel alan bir modernleştirme planı oluşturur.
Sözdizimi
modernize plan create <prompt> [options]
Argümanlar
| Argument | Açıklama |
|---|---|
<prompt> |
Modernizasyon hedeflerinin doğal dille açıklaması (gerekli). |
Options
| Seçenek | Açıklama | Varsayılan |
|---|---|---|
--source <path> |
Uygulama kaynak kodunun yolu. | Geçerli dizin |
--plan-name <name> |
Modernleştirme planının adı. | modernization-plan |
--language <lang> |
Programlama dili (java, dotnetveya python). |
Otomatik algılandı |
--overwrite |
Aynı ada sahip mevcut bir planın üzerine yazar. | Disabled |
--model <model> |
Kullanılacak LLM modeli. | claude-sonnet-4.6 |
Örnekler
Geçiş planı oluşturma:
modernize plan create "migrate from oracle to azure postgresql"
Özel adla bir yükseltme planı oluşturun:
modernize plan create "upgrade to spring boot 3" --plan-name spring-boot-upgrade
Dağıtım planı oluşturma:
modernize plan create "deploy the app to azure container apps" --plan-name deploy-to-aca
Tam seçenekler örneği:
modernize plan create "upgrade to .NET 8" \
--source /path/to/project \
--plan-name dotnet8-upgrade \
--language dotnet \
--issue-url https://github.com/org/repo/issues/456
İstem örnekleri
Çerçeve yükseltmeleri:
upgrade to spring boot 3upgrade to .NET 10upgrade to JDK 21migrate from spring boot 2 to spring boot 3
Veritabanı geçişleri:
migrate from oracle to azure postgresqlmigrate from SQL Server to azure cosmos dbswitch from MySQL to azure database for mysql
Bulut geçişleri:
migrate from on-premises to azurecontainerize and deploy to azure container appsmigrate from rabbitmq to azure service bus
Dağıtım:
deploy to azure app servicedeploy to azure kubernetes serviceset up CI/CD pipeline for azure
Çıkış
komutu şunu oluşturur:
Plan dosyası (
.github/modernize/{plan-name}/plan.md): Ayrıntılı modernleştirme stratejisi:- Bağlam ve hedefler
- Yaklaşım ve metodoloji
- Açıklamalar
Görev listesi (
.github/modernize/{plan-name}/tasks.json): Yürütülebilir görevlerin yapılandırılmış dökümü:- Görev açıklamaları
- Kullanılacak beceriler
- Başarı ölçütleri
Tavsiye
Yürütmeden önce yaklaşımı özelleştirmek için hem hem de plan.mdtasks.json oluşturma sonrasında el ile düzenleyebilirsiniz.
plan yürütme
tarafından modernize plan createoluşturulan bir modernleştirme planını yürütür.
Sözdizimi
modernize plan execute [prompt] [options]
Argümanlar
| Argument | Açıklama |
|---|---|
[prompt] |
Yürütme için isteğe bağlı doğal dil yönergeleri (örneğin, "testleri atla"). |
Options
| Seçenek | Açıklama | Varsayılan |
|---|---|---|
--source <path> |
Uygulama kaynak kodunun yolu. | Geçerli dizin |
--plan-name <name> |
Yürütülecek planın adı. | modernization-plan |
--language <lang> |
Programlama dili (java veya dotnet). |
Otomatik algılandı |
--model <model> |
Kullanılacak LLM modeli. | claude-sonnet-4.6 |
--delegate <delegate> |
Yürütme modu: local (bu makine) veya cloud (Bulut Kodlama Aracısı). |
local |
--force |
CCA işi devam ederken bile yürütmeyi zorlar. | Disabled |
Örnekler
En son planı etkileşimli olarak yürüt:
modernize plan execute
Belirli bir planı yürütme:
modernize plan execute --plan-name spring-boot-upgrade
Ek yönergelerle yürütme:
modernize plan execute "skip the test" --plan-name spring-boot-upgrade
CI/CD için başsız modda yürütme:
modernize plan execute --plan-name spring-boot-upgrade --no-tty
Yürütme davranışı
Yürütme sırasında aracı:
Planı yükler: Planı ve görev listesini şu kaynaktan okur:
.github/modernization/{plan-name}/Görevleri yürütür: Görev listesindeki her görevi sırayla işler:
- Kod dönüşümlerini uygular.
- Değişikliklerden sonra derlemeleri doğrular.
- CVE'leri tarar.
- Açıklayıcı iletilerle değişiklikleri işler.
Özet oluşturur: Tüm değişiklikleri ve sonuçları içeren bir rapor sağlar.
Çıkış
- İşleme geçmişi: Yürütülen her görev için ayrıntılı işlemeler.
- Özet raporu: Değişikliklere, başarılara ve karşılaşılan sorunlara genel bakış.
- Derleme doğrulaması: Uygulamanın başarıyla derlendiğini onaylar.
- CVE raporu: Tanımlanan ve giderilen güvenlik açıkları.
upgrade
Tek bir komutta uçtan uca bir yükseltme iş akışı (planlama ve yürütme) çalıştırır.
Sözdizimi
modernize upgrade [prompt] [options]
Argümanlar
| Argument | Açıklama |
|---|---|
[prompt] |
Java 17, Spring Boot 3.2, .NET 10 gibi hedef sürüm. Varsayılan olarak en son LTS'yi kullanır. |
Options
| Seçenek | Açıklama | Varsayılan |
|---|---|---|
--source <source> |
Yükseltecek kaynak (yinelenebilir). Yerel yolları, Git URL'lerini veya JSON yapılandırma dosya yolunu kabul eder. Birden çok depo belirtmek için birden çok --source bayrak kullanın. |
. (geçerli dizin) |
--delegate <delegate> |
Yürütme modu: local (bu makine) veya cloud (Bulut Kodlama Aracısı). |
local |
--model <model> |
Kullanılacak LLM modeli. | claude-sonnet-4.6 |
Örnekler
Geçerli dizinde komutunu çalıştırın upgrade :
modernize upgrade "Java 17"
modernize upgrade ".NET 10"
Belirli bir projede çalıştır upgrade :
modernize upgrade "Java 17" --source /path/to/project
Bulut Kodlama Aracısı'nı kullanarak çalıştırın upgrade :
modernize upgrade "Java 17" --delegate cloud
Bir yapılandırma dosyası kullanarak birden çok depoya yükseltme:
modernize upgrade "Java 21" --source .github/modernize/repos.json
Kaynakları doğrudan belirterek birden çok depoya yükseltme:
modernize upgrade "Java 21" --source https://github.com/org/repo1 --source https://github.com/org/repo2
help
Yardım ve bilgi komutları sağlar.
Sözdizimi
modernize help [command]
Commands
| Command | Açıklama |
|---|---|
models |
Kullanılabilir LLM modellerini ve çarpanlarını listeler. |
Örnekler
Kullanılabilir modelleri listeleyin:
modernize help models
CLI'yi yapılandırma
Modernleştirme aracısını kullanarak JSON dosyaları ve ortam değişkenleri aracılığıyla uygulama davranışını özelleştirebilirsiniz.
Ortam değişkenleri
Ortam değişkenlerini diğer tüm yapılandırma kapsamlarını geçersiz kacak şekilde ayarlayın:
| Variable | Açıklama | Varsayılan |
|---|---|---|
MODERNIZE_LOG_LEVEL |
Günlük düzeyi (none, error, warning, info, debug, ) all |
info |
MODERNIZE_MODEL |
Kullanılacak LLM modeli. | claude-sonnet-4.6 |
MODERNIZE_COLLECT_TELEMETRY |
Telemetri koleksiyonunu etkinleştirin veya devre dışı bırakın. | true |
Örnek:
export MODERNIZE_LOG_LEVEL=debug
export MODERNIZE_MODEL=claude-sonnet-4.6
modernize assess
Kullanıcı yapılandırması
kullanıcıya özgü tercihleri veya ~/.modernize/config.json depo genelindeki ayarları içinde depolayın .github/modernize/config.json.
{
"model": "claude-sonnet-4.6",
"log_level": "info",
"trusted_folders": [
"/path/to/trusted/project",
]
}
özelliği, trusted_folders LLM'yi etkileşimli modda kullanmak için güvenilen klasörleri belirtir.
Uyarı
Ortam değişkenleri en yüksek önceliğe, ardından kullanıcı yapılandırmasına ve ardından depo yapılandırmasına sahiptir. CI/CD geçersiz kılmaları için ortam değişkenlerini ve kişisel tercihler için kullanıcı yapılandırmasını kullanın.
Çok depolu yapılandırma
CLI'ya çeşitli yollarla birden çok kaynak sağlayabilirsiniz:
-
Depo yapılandırma dosyası: Tüm depoları listeleyen bir
.github/modernize/repos.jsondosya oluşturun ve ile geçirin--source. -
Birden çok
--sourcebayrak: Yerel yolları veya Git URL'lerini doğrudan komut satırında belirtin. - Etkileşimli mod: TUI aracılığıyla kaynakları seçin (geçerli klasör, el ile giriş veya depo yapılandırması).
Depo yapılandırma dosyası
Depo listenizi tanımlamak için bir .github/modernize/repos.json dosya oluşturun. Yapılandırma iki biçimi destekler:
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"
}
]
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. | Evet |
url |
Git kopyalama URL'si (HTTPS veya SSH). | Veya'nın url biri path |
path |
Mutlak yerel dizin yolu. | Veya'nın url biri path |
branch |
Kopyalamadan sonra kullanıma almak için 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 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ünen 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 raporunun nesilden sonra dağıtıldığı yer. | 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: https://github.com/org/repo.git#branch:path. |
url |
Önemli
Bulut Kodlama Aracısı temsilcisi (--delegate cloud), depoların GitHub (github.com) depo URL'lerine sahip olmasını gerektirir. Yerel yol depoları ve GitHub olmayan sağlayıcılar (GitLab, Azure DevOps) bulut temsilcisi için desteklenmez ve atlanır.
Ardından yapılandırma dosyası yolunu geçirmek için kullanın --source :
Tüm depoları yerel olarak değerlendirin:
modernize assess --source .github/modernize/repos.json
Bulut Kodlama Aracısı'nı kullanarak tüm depoları değerlendirin:
modernize assess --source .github/modernize/repos.json --delegate cloud
Bulut Kodlama Aracısı'nı kullanarak tüm depoları yükseltin:
modernize upgrade --source .github/modernize/repos.json --delegate cloud
Komut satırında birden çok kaynak
Doğrudan birden çok kaynak da belirtebilirsiniz:
modernize assess --source https://github.com/org/repo1 --source https://github.com/org/repo2
modernize upgrade "Java 21" --source ./project-a --source ./project-b