Menyambungkan agen cloud GitHub Copilot dengan Azure MCP Server menggunakan ekstensi azd

Gunakan ekstensi Azure Developer CLI () (azdazure.coding-agent) untuk memberi agen cloud GitHub Copilot akses Azure yang aman dan terlingkup dengan identitas terkelola. Ekstensi membuat identitas terkelola, mengonfigurasi kredensial federasi, dan menyiapkan alur kerja GitHub Actions di repositori Anda.

Lihat Gambaran umum ekstensi untuk mempelajari cara ekstensi menambahkan kemampuan ke azd.

Prasyarat

  • Instal Azure Developer CLI (azd). Lihat instruksi penginstalan.
  • Langganan Azure yang memungkinkan Anda membuat grup sumber daya dan identitas terkelola.
  • Klon lokal repositori GitHub yang Anda aktifkan untuk agen cloud Copilot.
  • Hak akses repositori untuk:
    • copilot Perbarui lingkungan GitHub.
    • Konfigurasikan pengaturan agen cloud Copilot.
    • Dorong perubahan ke .github/workflows folder.
  • Setidaknya satu Git remote yang dikonfigurasi untuk repositori (diperlukan untuk kredensial federasi).

Menginstal atau meningkatkan ekstensi agen cloud Copilot

  1. Instal untuk pertama kalinya

    azd extension install azure.coding-agent
    

    Tingkatkan ke versi terbaru

    azd extension upgrade azure.coding-agent
    
  2. Pastikan telah terinstal:

    azd extension list --installed
    

    Anda akan melihat azure.coding-agent dalam daftar.

Menggunakan ekstensi agen cloud Copilot

Ekstensi agen cloud Copilot mengotomatiskan konfigurasi akses Azure melalui identitas terkelola untuk agen cloud Copilot. Anda juga perlu melakukan beberapa langkah manual untuk menyelesaikan penyiapan.

Mengaktifkan akses Azure

  1. Di dalam akar direktori repositori lokal Anda, jalankan perintah berikut:

    azd coding-agent config
    
  2. Ikuti perintah di layar untuk menyelesaikan alur kerja ekstensi.

    Selama konfigurasi, ekstensi:

    • Membuat (atau menggunakan kembali) grup sumber daya.
    • Membuat identitas terkelola Azure.
    • Menetapkan peran Pembaca ke identitas yang ditetapkan lingkupnya ke grup sumber daya.
    • Menetapkan kredensial federasi yang menautkan repositori GitHub ke identitas terkelola.
    • Menambahkan (atau memperbarui) copilot-setup-steps.yml alur kerja dan aset terkait.
    • Memandu Anda untuk menyelesaikan pengaturan lingkungan GitHub untuk lingkungan copilot.

Memverifikasi penyiapan (opsional)

  1. Cantumkan identitas terkelola dalam grup sumber daya yang dibuat (atau diperbarui):

    az identity list --resource-group <resource-group-name>
    
  2. Di GitHub, buka Pengaturan>Lingkungan>lingkungan copilot, dan konfirmasikan entri kredensial federasi yang terkait dengan identitas terkelola (penerbit subjek harus mencerminkan GitHub).

Mengonfigurasi Azure McP Server untuk agen cloud Copilot

  1. Ekstensi azd coding-agent membuat pull request untuk cabang dengan berkas alur kerja GitHub baru di origin/azd-enable-copilot-coding-agent-with-azure. Jika Anda ingin menggunakan koneksi Azure MCP Server di cabang main Anda, gabungkan PR ini.

    Deskripsi permintaan pull dan log output ekstensi di konsol keduanya menyertakan cuplikan konfigurasi JSON yang dapat Anda gunakan untuk mengonfigurasi Azure MCP Server untuk agen cloud Copilot:

    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  2. Untuk mengonfigurasi Azure MCP Server, buka halaman Pengaturan repositori Anda.

  3. Pilih Copilot>Cloud agent pada panel navigasi kiri.

  4. Tempelkan cuplikan JSON dari PR ke dalam kotak konfigurasi MCP dan pilih Simpan konfigurasi MCP.

    Cuplikan layar yang menunjukkan cara mengonfigurasi Azure MCP Server untuk agen cloud Copilot.

Menguji ekstensi agen cloud Copilot

  1. Navigasi ke repositori Anda di GitHub.

  2. Pilih ikon Buka panel agen di bilah navigasi kanan atas.

  3. Di panel flyout, pilih repositori dan cabang yang Anda gunakan untuk azd perintah . Jika Anda menggabungkan permintaan tarik yang dihasilkan ke main, pilih main.

  4. Masukkan perintah yang secara khusus menginstruksikan agen cloud Copilot untuk menggunakan Azure Server MCP yang Anda konfigurasikan, seperti:

    Use the Azure MCP Server to list the resource groups in my subscription.
    Do not traverse or analyze the repository at all. Use only the Azure MCP Server.
    

    Tekan Enter untuk menjalankan perintah dan menginstruksikan Copilot agen cloud untuk membuat dan menjalankan tugas baru.

    Nota

    Anda juga dapat menjalankan tugas agen cloud Copilot di cabang selain main dengan memilih cabang tersebut pada panel flyout.

  5. Pilih tugas yang muncul di bagian bawah panel untuk menavigasi ke halaman detail tugas.

    Cuplikan layar memperlihatkan cara membuat tugas baru untuk agen cloud Copilot.

  6. Periksa hasil untuk melihat agen cloud Copilot:

    • Mulai Azure MCP Server:

      Cuplikan layar memperlihatkan Azure MCP Server dimulai.

    • Panggil berbagai alat untuk mengumpulkan informasi tentang sumber daya Azure Anda:

      Cuplikan layar memperlihatkan alat grup sumber daya yang sedang dipanggil.

    • Tampilkan grup sumber daya dalam output akhir:

      Cuplikan layar memperlihatkan grup sumber daya yang ditemukan.

Mengonfigurasi izin pada identitas terkelola

Ekstensi ini azd coding-agent membuat identitas terkelola Azure yang digunakan Azure MCP Server untuk mengakses sumber daya Anda. Penyiapan ini memungkinkan Anda menetapkan peran yang berbeda ke identitas terkelola untuk mengontrol kemampuan dan izin Azure MCP Server.

Ekstensi secara default hanya menetapkan peran Reader ke cakupan grup sumber daya. Tetapkan peran tambahan atau perluas cakupan jika agen membutuhkan lebih banyak kemampuan. Lihat peran bawaan.

Misalnya, untuk menetapkan Contributor peran di lingkup grup sumber daya:

az role assignment create --assignee <principal-id-or-client-id> --role Contributor --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

Troubleshooting

Bagian berikut menyoroti masalah umum yang dapat Anda alami.

Tidak ada remote Git yang dikonfigurasi

Tambahkan remote sehingga kredensial federasi dapat dihasilkan:

git remote add origin <https://github.com/<your-org>/<your-repo>.git>
git fetch origin

Harus memiliki hak admin atas Repositori

Mengonfigurasi repositori GitHub untuk agen cloud Copilot memerlukan hak admin. Tanpa hak ini, Anda tidak dapat memperbarui lingkungan Copilot untuk menggunakan kredensial identitas terkelola, atau memperbarui konfigurasi MCP untuk repositori.

Jika Anda melihat kesalahan ini, Anda harus meningkatkan hak akses Anda.

(!) An error occurred, see the readme for troubleshooting and prerequisites:
    https://github.com/Azure/azure-dev/blob/main/cli/azd/extensions/azure.coding-agent/README.md
Error: failed to create GitHub environment copilot in repository owner/repository: exit code: 1, stdout: {"message":"Must have admin rights to Repository.","documentation_url":"https://docs.github.com/rest/deployments/environments#create-or-update-an-environment","status":"403"}, stderr: gh: Must have admin rights to Repository. (HTTP 403)

Token pembaruan kedaluwarsa

Masuk lagi:

azd auth login

Tambahkan bendera seperti --tenant-id <tenant-id> atau --use-device-code sesuai kebutuhan.

Meningkatkan output diagnostik

Gunakan mode debug:

azd coding-agent config --debug

Semua perintah internal dan outputnya ditampilkan di konsol.

Langkah selanjutnya

  • Perluas izin identitas (hanya jika diperlukan) menggunakan penetapan peran
  • Mengintegrasikan otomatisasi tambahan dengan memperluas alur kerja di .github/workflows/
  • Menjelajahi kemampuan ekstensi lainnya: Gambaran umum ekstensi
  • Meninjau konsep Azure RBAC

Contributing

Untuk berkontribusi pada sumber daya Azure Developer CLI, lihat panduan berkontribusi. Permintaan pull mungkin memerlukan penandatanganan Perjanjian Lisensi Kontributor.

Kode etik

Proyek ini mengikuti Kode Etik Sumber Terbuka Microsoft.