Bagikan melalui


Peningkatan massal dengan agen modernisasi GitHub Copilot

Peningkatan batch memungkinkan Anda menerapkan rencana modernisasi yang konsisten di beberapa repositori secara bersamaan. Artikel ini menunjukkan kepada Anda cara meningkatkan beberapa aplikasi secara efisien dalam skala perusahaan.

Dengan menggunakan upgrade batch, Anda dapat:

  • Tingkatkan beberapa aplikasi secara bersamaan dengan menggunakan target peningkatan yang sama.
  • Terapkan pola yang konsisten dengan menggunakan pola peningkatan serupa di seluruh aplikasi.
  • Manfaatkan eksekusi paralel saat mendelegasikan ke Agen Pengodean Cloud.

Pemutakhiran batch memberikan manfaat berikut:

  • Eksekusi yang konsisten:

    • Pendekatan standar: Terapkan pola modernisasi yang sama di semua repositori.
    • Vaabilitas yang berkurang: Pastikan jalur peningkatan yang konsisten untuk aplikasi serupa.
    • Strategi yang dapat digunakan kembali: Gunakan keterampilan khusus organisasi di seluruh aplikasi.
  • Skala dan efisiensi:

    • Pemrosesan paralel: Gunakan Cloud Coding Agents untuk memproses beberapa repositori secara bersamaan.
    • Alur kerja otomatis: Integrasikan dengan alur CI/CD untuk modernisasi terjadwal.
    • Penghematan waktu: Kurangi total waktu modernisasi dari minggu ke jam.

Prasyarat

  • Modernisasi CLI.
  • Penilaian batch lengkap (disarankan tetapi tidak diperlukan).
  • Semua repositori menggunakan bahasa pemrograman yang sama (Java atau .NET).
  • Akses ke semua repositori yang ingin Anda tingkatkan.
  • Autentikasi GitHub dikonfigurasi (gh auth login).

Penting

Semua repositori dalam peningkatan batch harus menggunakan bahasa pemrograman yang sama. Jika repositori menggunakan bahasa yang berbeda, peningkatan batch menandai repositori sebagai gagal dan melewatinya.

Konfigurasikan repositori

Untuk mengaktifkan peningkatan batch, buat .github/modernize/repos.json file di direktori kerja Anda yang mencantumkan semua repositori yang ingin Anda tingkatkan.

Petunjuk / Saran

Untuk repositori sampel, pertama-tama lakukan fork dan pastikan Anda memiliki izin admin untuk mendelegasikan pekerjaan kepada Cloud Coding Agents.

[
  {
    "name": "PhotoAlbum-Java",
    "url": "https://github.com/Azure-Samples/PhotoAlbum-Java.git"
  },
  {
    "name": "ZavaSocialFrontEnd",
    "url": "https://github.com/Azure-Samples/ZavaSocialFrontEnd"
  }
]

Konfigurasi repositori

Setiap entri memerlukan:

  • nama: Nama yang mudah diingat untuk repositori (digunakan dalam laporan dan dasbor).
  • url: URL untuk klon Git (dalam format HTTPS).

Petunjuk / Saran

Anda dapat menyertakan repositori dari organisasi yang berbeda dan menggunakan metode autentikasi yang berbeda selama Anda memiliki akses.

Lokasi file

Anda harus menempatkan file di repos.json.github/modernize/repos.json.

Agen modernisasi secara otomatis mendeteksi file ini saat menjalankan operasi batch.

Pilih mode eksekusi Anda

Peningkatan batch mendukung dua mode eksekusi dan dua metode interaksi:

Mode eksekusi

Eksekusi lokal

  • Terbaik untuk: Pengujian, set repositori yang lebih kecil (repositori 1-5), atau ketika Anda lebih suka kontrol lokal.
  • Cara kerjanya: Memproses repositori secara berurutan di komputer lokal Anda.
  • Penyiapan diperlukan: Tidak ada yang melebihi prasyarat dasar.

Delegasi Agen Pemrograman Cloud

  • Terbaik untuk: Operasi skala perusahaan, portofolio besar (5+ repos), atau pemrosesan paralel.
  • Cara kerjanya: Mengirimkan tugas ke GitHub Cloud Coding Agents untuk eksekusi paralel di cloud.
  • Diperlukan penyiapan: Konfigurasi server MCP di setiap repositori (dikonfigurasi selama penyiapan).

Petunjuk / Saran

Dengan memproses repositori secara paralel, delegasi Cloud Coding Agent dapat mengurangi total waktu modernisasi dari jam ke menit.

Metode interaksi

Mode interaktif (TUI)

  • Pengalaman terpandu dengan menu dan petunjuk.
  • Terbaik untuk pengguna pertama kali atau saat Anda ingin meninjau opsi.
  • Mendukung eksekusi lokal dan cloud.

Mode non-interaktif (CLI/tanpa kepala)

  • Berbasis baris perintah, sepenuhnya otomatis.
  • Terbaik untuk alur dan otomatisasi CI/CD.
  • Mendukung eksekusi lokal dan cloud dengan flag --delegate cloud.

Nota

Anda dapat menggabungkan mode eksekusi apa pun dengan metode interaksi apa pun. Contohnya:

  • modernize (interaktif, lokal)
  • modernize → pilih Cloud Coding Agents (interaktif, cloud)
  • modernize upgrade "Java 21" (non-interaktif, lokal)
  • modernize upgrade "Java 21" --delegate cloud (non-interaktif, cloud)

Cara kerja pembaruan batch

Alur kerja peningkatan sebuah batch:

  1. Deteksi bahasa: Secara otomatis mendeteksi bahasa proyek (Java atau .NET) dari repositori pertama.
  2. Pembuatan paket: Membuat paket peningkatan berdasarkan permintaan Anda atau menggunakan versi LTS terbaru.
  3. Eksekusi: Menerapkan peningkatan ke setiap repositori.
  4. Validasi: Membangun dan memvalidasi perubahan untuk setiap repositori.

Jalankan peningkatan batch

Setelah Anda mengonfigurasi repositori dan memilih mode eksekusi, mulailah peningkatan batch.

Mode interaktif (tingkatkan secara lokal)

  1. Jalankan agen modernisasi:

    modernize
    
  2. Agen mendeteksi repos.json file dan menampilkan daftar repositori:

    Cuplikan layar Modernisasi CLI yang memperlihatkan daftar Pilih repositori di terminal.

  3. Pilih repositori untuk dimutakhirkan, dan tekan Enter untuk mengonfirmasi pilihan Anda.

    • Tekan Ctrl+A untuk memilih semua repositori.
    • Atau gunakan tombol panah untuk menavigasi dan menekan Enter untuk memilih repositori individual.
  4. Pilih 2. Tingkatkan dari menu utama.

    Cuplikan layar Modernisasi CLI yang memperlihatkan opsi menu Upgrade Runtime &Framework di terminal.

  5. Untuk menjalankan peningkatan, pilih 1. Tingkatkan secara lokal.

    Cuplikan layar Modernisasi CLI yang memperlihatkan opsi menu Tingkatkan secara lokal di terminal.

  6. Agen secara otomatis:

    • Membuat paket peningkatan berdasarkan permintaan Anda.
    • Menerapkan rencana ke setiap repositori secara berurutan.
    • Membangun dan memvalidasi setiap repositori setelah perubahan.
    • Menampilkan kemajuan dan ringkasan untuk setiap repositori.

    Cuplikan layar Modernisasi CLI yang menunjukkan kemajuan peningkatan untuk setiap repositori di terminal.

Mode interaktif (mendelegasikan ke Agen Pengkodean Cloud)

Prasyarat: Mengonfigurasi server MCP

Sebelum menjalankan peningkatan, konfigurasikan GitHub Copilot Modernization MCP Server di setiap repositori.

Untuk aplikasi Java, tambahkan konfigurasi ini di bagian Cloud Coding Agent di pengaturan repositori Anda:

{
  "mcpServers": {
    "app-modernization": {
      "type": "local",
      "command": "npx",
      "tools": [
        "*"
      ],
      "args": [
        "-y",
        "@microsoft/github-copilot-app-modernization-mcp-server"
      ]
    }
  }
}

Cuplikan layar GitHub yang memperlihatkan panel pengaturan agen Coding repositori dengan bagian konfigurasi MCP disorot.

Steps

  1. Jalankan agen modernisasi:

    modernize
    
  2. Agen mendeteksi repos.json file dan menampilkan daftar repositori:

    Cuplikan layar Modernisasi CLI yang memperlihatkan daftar repositori di terminal.

  3. Pilih repositori untuk dimutakhirkan, dan tekan Enter untuk mengonfirmasi pilihan Anda.

    • Tekan Ctrl+A untuk memilih semua repositori.
    • Atau gunakan tombol panah untuk menavigasi dan menekan Enter untuk memilih repositori individual.
  4. Pilih 2. Tingkatkan dari menu utama.

  5. Untuk menjalankan peningkatan, pilih 2. Mendelegasikan ke Agen Pengodean Cloud.

    Cuplikan layar Modernisasi CLI yang memperlihatkan opsi menu Delegasi ke Agen Pengodean Cloud di terminal.

  6. Agen secara otomatis:

    • Membuat rencana peningkatan untuk setiap repositori.

    • Mengirimkan tugas Cloud Coding Agent untuk setiap repositori.

    • Menjalankan pekerjaan secara independen secara paralel di cloud.

    • Menampilkan ID pekerjaan dan URL PR untuk setiap repositori.

      Cuplikan layar Modernize CLI yang menunjukkan kemajuan delegasi peningkatan kepada Cloud Coding Agent di terminal.

    • Mendelegasikan tugas ke AgentHQ untuk eksekusi paralel.

      Cuplikan layar GitHub yang memperlihatkan panel Agen dengan tugas peningkatan yang didelegasikan ke AgentHQ.

    • Melacak kemajuan untuk setiap tugas individual secara real-time.

      Cuplikan layar GitHub yang memperlihatkan panel Agen dengan pelacakan kemajuan untuk tugas peningkatan Cloud Coding Agent individual.

    • Menampilkan ringkasan pemutakhiran untuk setiap tugas yang telah selesai.

      Cuplikan layar GitHub yang memperlihatkan panel Agen dengan ringkasan peningkatan untuk tugas Cloud Coding Agent individual.

Mode non-interaktif (CLI)

Untuk otomatisasi dan integrasi CI/CD, gunakan modernize upgrade perintah :

Tingkatkan secara lokal:

modernize upgrade "Java 21"

Tingkatkan menggunakan Cloud Coding Agents:

modernize upgrade "Java 21" --delegate cloud

Perintah secara otomatis mendeteksi repos.json file dan memproses semua repositori.

Nota

Untuk eksekusi tanpa kepala batch dan opsi CLI lainnya, lihat bagian Konfigurasi multi-repositori di referensi perintah CLI.

Meninjau hasil

Ketika peningkatan batch selesai:

  1. Periksa laporan agregat yang ditampilkan di terminal.

  2. Tinjau perubahan repositori individual:

    cd <repository-name>
    git status
    git diff
    
  3. Buat permintaan pull untuk peningkatan yang berhasil:

    cd <repository-name>
    gh pr create --title "Upgrade to Java 21" --body "Automated upgrade by modernization agent"
    

Pemecahan masalah pembaruan batch

Masalah umum

Kesalahan akses repositori:

  • Verifikasi autentikasi GitHub dengan menggunakan gh auth status.
  • Pastikan Anda memiliki akses ke semua repositori di repos.json.

Kesalahan ketidakcocokan bahasa:

  • Pastikan semua repositori dalam repos.json menggunakan bahasa yang sama (Java atau .NET).
  • Buat operasi batch terpisah untuk bahasa yang berbeda.

Kegagalan kloning:

  • Verifikasi URL repositori di repos.json sudah benar dan dapat diakses.
  • Pastikan Anda memiliki izin akses yang tepat ke semua repositori.
  • Periksa konektivitas jaringan dan pengaturan VPN.

Kegagalan build setelah peningkatan:

  • Tinjau pesan kesalahan build dalam laporan agregat.
  • Periksa apakah Anda perlu memperbarui dependensi lain.
  • Verifikasi kompatibilitas pustaka pihak ketiga dengan versi baru.

Kegagalan repositori individu:

  • Proses batch berlanjut bahkan jika repositori individual gagal.
  • Tinjau laporan agregat untuk mengidentifikasi repositori yang gagal.
  • Periksa log kesalahan untuk pesan kesalahan tertentu.
  • Coba lagi repositori yang gagal satu per satu.

Kegagalan Cloud Coding Agent:

  • Periksa izin GitHub Actions dan batas kuota.
  • Untuk .NET Framework, pastikan konfigurasi runner Windows diatur dengan benar.

Langkah berikutnya

Setelah menyelesaikan peningkatan batch, Anda dapat:

Terus tingkatkan:

Pelajari selengkapnya:

Berikan umpan balik

Kami menghargai input Anda! Jika Anda memiliki umpan balik tentang peningkatan batch atau agen modernisasi, buat isu di repositori github-copilot-appmod atau gunakan formulir umpan balik modernisasi GitHub Copilot.