Paket batch dengan agen modernisasi GitHub Copilot

Paket Batch memungkinkan Anda menghasilkan rencana modernisasi untuk beberapa repositori dengan menggunakan satu alur kerja dan tujuan modernisasi bersama. Artikel ini menjelaskan cara membuat rencana yang konsisten di berbagai aplikasi sebelum Anda mulai mengeksekusinya.

Dengan menggunakan paket batch, Anda dapat:

  • Buat rencana untuk beberapa aplikasi dalam satu alur kerja terpandu.
  • Terapkan tujuan modernisasi yang konsisten di seluruh repositori.
  • Gunakan temuan penilaian sebagai konteks untuk meningkatkan kualitas rencana.
  • Tinjau rencana sebelum eksekusi dan putuskan repositori mana yang akan dimodernisasi terlebih dahulu.

Paket batch memberikan manfaat berikut:

  • Konsistensi dan kontrol:

    • Niat bersama: Mulai dari satu permintaan modernisasi di seluruh repositori.
    • Hasil yang dapat dibandingkan: Tinjau rencana secara berdampingan sebelum Anda menjalankannya.
    • Penyempurnaan fleksibel: Edit setiap rencana yang dihasilkan untuk mencerminkan kebutuhan khusus repositori.
  • Perencanaan dalam skala besar:

    • Visibilitas portofolio: Pahami bagaimana permintaan yang sama berlaku di seluruh aplikasi.
    • Persiapan yang dapat digunakan kembali: Gunakan kembali daftar repositori dan output penilaian yang sama dari tahap sebelumnya.
    • Pengambilan keputusan yang lebih cepat: Buat rencana terlebih dahulu, lalu jalankan hanya repositori yang Anda setujui.

Prasyarat

  • Modernisasi CLI.
  • Akses ke semua repositori yang ingin Anda rencanakan.
  • Autentikasi GitHub dikonfigurasi (gh auth login).
  • Penilaian batch yang telah selesai (disarankan) jika Anda ingin agen menggunakan temuan penilaian sebagai konteks perencanaan.

Tip

Penilaian batch tidak diperlukan, tetapi biasanya menghasilkan rencana yang lebih akurat dan dapat ditindaklanjuti karena agen dapat mereferensikan masalah dan peluang migrasi yang terdeteksi.

Konfigurasikan repositori

Agen modernisasi mendukung beberapa cara untuk menentukan repositori yang ingin Anda rencanakan:

  • Folder saat ini: Buat rencana untuk proyek di direktori kerja saat ini.
  • Input manual: Masukkan jalur direktori lokal atau URL Git jarak jauh secara langsung.
  • File konfigurasi repositori: Gunakan file konfigurasi JSON yang mencantumkan semua repositori.

File konfigurasi repositori

Untuk operasi batch di banyak repositori, buat file konfigurasi JSON untuk mencantumkan semua repositori. Misalnya, buat di .github/modernize/repos.json direktori kerja Anda, atau berikan jalur kustom.

Format (larik repositori):

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

Setiap entri repositori mendukung bidang berikut:

Ladang Deskripsi Required
name Nama yang mudah diingat untuk repositori (digunakan dalam laporan dan dasbor). Yes
url URL kloning Git dalam format HTTPS atau SSH. Salah satu dari url atau path

Tip

Anda dapat menggunakan repos.jsonfile yang sama dalam alur kerja penilaian batch, rencana batch, dan pemutakhiran batch.

Agen modernisasi secara otomatis mendeteksi repos.json file pada .github/modernize/repos.json ketika Anda memilih Dari file konfigurasi dalam mode interaktif. Anda juga dapat menyediakan jalur kustom.

Cara kerja rencana batch

Alur kerja perencanaan batch:

  1. Pilihan repositori: Pilih repositori yang ingin Anda sertakan.
  2. Pemilihan konteks: Secara opsional gunakan laporan penilaian yang tersedia sebagai input.
  3. Definisi perintah: Jelaskan tujuan modernisasi Anda sekali dan terapkan di seluruh repositori.
  4. Klarifikasi: Jawab pertanyaan tindak lanjut dari agen.
  5. Pembuatan paket: Agen membuat rencana untuk setiap repositori yang dipilih.

Setiap rencana yang dihasilkan disimpan di repositori target dan dapat ditinjau atau diedit sebelum dijalankan.

Jalankan rencana batch

Setelah Mengonfigurasi repositori, mulai alur kerja perencanaan batch.

Mode interaktif

  1. Jalankan agen modernisasi:

    modernize
    
  2. Pilih Rencanakan dari menu utama.

    ○ How would you like to modernize your app?
    
        Assess
        Analyze modernization readiness across one or multiple applications
      > Plan
        Generate a structured plan to guide the agent
        Execute
        Run the tasks defined in the modernization plan
    
      Or select a quick-start scenario:
    
        Upgrade
            Upgrade runtimes and frameworks across one or multiple applications
    
  3. Pilih cara menentukan repositori target Anda. Pilih Dari file konfigurasi untuk menggunakan repos.json file.

    ○ Choose target repositories
    
        1. Current folder
          /Users/username/project
        2. Manual input
          Enter local path or remote URL
      > 3. From a config file
          /path/to/.github/modernize/repos.json
    

    Tip

    Anda juga dapat memilih Input manual untuk memasukkan jalur lokal atau URL Git jarak jauh secara langsung, atau Folder saat ini untuk merencanakan proyek di direktori Anda saat ini.

  4. repos.json Jika file terdeteksi di lokasi default, agen secara otomatis mengisinya. Jika tidak, masukkan jalur ke file konfigurasi Anda dan tekan Enter.

  5. Semua repositori dipilih secara default. Batal pilih repositori apa pun yang ingin Anda lewati, lalu tekan Enter untuk mengonfirmasi pilihan Anda.

    • Gunakan tombol panah untuk menavigasi dan menekan Spasi untuk mengalihkan repositori individual.
  6. Pilih 1. Simpan rencana secara lokal untuk membuat rencana di komputer Anda, atau pilih 2. Kirim ke Agen Cloud agar agen cloud membuatnya. Opsi 2 bersifat eksperimental.

  7. Masukkan nama paket atau tekan Enter untuk menggunakan default.

  8. Masukkan tujuan modernisasi Anda dalam bentuk prompt. Contohnya:

    • upgrade to Spring Boot 3 and prepare for Azure deployment
    • migrate the database to Azure PostgreSQL
    • containerize the application and deploy to Azure Container Apps
  9. Tekan Enter untuk membuat rencana.

  10. Agen secara otomatis:

    • Mengkloning setiap repositori yang dipilih atau mengirimkan pekerjaan ke agen cloud untuk setiap repositori.
    • Menghasilkan rencana untuk setiap repositori secara lokal atau membuat PR yang berisi rencana untuk tiap repositori.

Langkah berikutnya

Setelah menyelesaikan rencana batch, tinjau rencana tersebut dan jalankan menggunakan perintah execute:

Berikan tanggapan

Jika Anda memiliki masukan tentang rencana batch atau agen modernisasi, buat issue di repositori github-copilot-appmod atau gunakan formulir umpan balik modernisasi GitHub Copilot.