Delen via


GitHub Copilot-coderingsagent verbinden met Azure MCP Server met behulp van azd-extensies

Gebruik de Azure Developer CLI-extensie (azd) coderingsagent (azure.coding-agent) om GitHub Copilot coderingsagent veilige en afgebakende Azure-toegang te geven met een beheerde identiteit. De extensie maakt de beheerde identiteit, configureert de federatieve referentiegegevens en stelt de GitHub Actions-werkstroom in uw opslagplaats in.

Zie Het overzicht extensies voor meer informatie over hoe extensies mogelijkheden toevoegen aan azd.

Vereiste voorwaarden

  • Installeer Azure Developer CLI (azd). Zie de installatie-instructies.
  • Azure-abonnement waarmee u resourcegroepen en beheerde identiteiten kunt maken.
  • Lokale kloon van de GitHub-opslagplaats die u inschakelt voor Copilot Coding Agent.
  • Opslagplaatsmachtigingen voor:
    • Werk de copilot GitHub-omgeving bij.
    • Copilot Coding Agent-instellingen configureren.
    • Push wijzigingen naar de .github/workflows map.
  • Ten minste één geconfigureerde Git remote voor de repository (vereist voor federated credentials).

Installeer of upgrade de Copilot-extensie voor code-assistenten.

  1. Voor het eerst installeren

    azd extension install azure.coding-agent
    

    Upgraden naar de nieuwste versie

    azd extension upgrade azure.coding-agent
    
  2. Controleer of het is geïnstalleerd.

    azd extension list --installed
    

    U ziet azure.coding-agent in de lijst.

Gebruik de Copilot-coderingsagentextensie

De copilot-agentextensie automatiseert het configureren van Azure-toegang via een beheerde identiteit voor de Copilot-coderingsagent. U moet ook een paar handmatige stappen uitvoeren om de installatie te voltooien.

Toegang tot Azure inschakelen

  1. Voer in de hoofdmap van de lokale opslagplaats de volgende opdracht uit:

    azd coding-agent config
    
  2. Volg de schermaanwijzingen om de workflow van de uitbreiding te voltooien.

    Tijdens de configuratie is de extensie:

    • Hiermee maakt u een resourcegroep (of gebruikt u deze opnieuw).
    • Hiermee maakt u een door Azure beheerde identiteit.
    • Hiermee wijst u de rol Lezer toe aan die identiteit die is afgestemd op de resourcegroep.
    • Hiermee worden federatieve referenties vastgelegd die de GitHub-opslagplaats koppelen aan de beheerde identiteit.
    • Voegt een copilot-setup-steps.yml werkstroom en gerelateerde assets toe (of werkt deze bij).
    • Begeleidt u bij het voltooien van de GitHub-omgevingsinstellingen voor de copilot omgeving.

Setup controleren (optioneel)

  1. Vermeld de beheerde identiteit in de gemaakte (of bijgewerkte) resourcegroep:

    az identity list --resource-group <resource-group-name>
    
  2. Open in GitHub de Instellingen>omgevingen>copilot-omgeving en bevestig de vermelding van de federatieve referentie die naar de beheerde identiteit verwijst (de onderwerpverlener moet GitHub weerspiegelen).

Azure MCP Server configureren voor de Copilot-coderingsagent

  1. De azd coding agent extensie maakt een pull-aanvraag voor een vertakking met het nieuwe GitHub-werkstroombestand op origin/azd-enable-copilot-coding-agent-with-azure. Als u de Azure MCP Server-verbinding in uw main vertakking wilt gebruiken, moet u deze pull request samenvoegen.

    De beschrijving van de pull-aanvraag en de uitvoerlogboeken van de extensie in de console bevatten beide een JSON-configuratiefragment dat u kunt gebruiken om Azure MCP Server te configureren voor de Copilot-coderingsagent:

    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  2. Als u de Azure MCP-server wilt configureren, gaat u naar de pagina Instellingen van uw opslagplaats.

  3. Selecteer Copilot -> Codeeragent in het linkernavigatievenster.

  4. Plak het JSON-fragment uit de pull-aanvraag in het mcp-configuratievak en selecteer MCP-configuratie opslaan.

    Een schermopname van het configureren van Azure MCP Server voor de Copilot-coderingsagent.

De Copilot-coderingsagentextensie testen

  1. Navigeer naar uw opslagplaats in GitHub.

  2. Selecteer het pictogram Deelvensters openen in de navigatiebalk rechtsboven.

  3. Selecteer in het flyoutvenster de opslagplaats en vertakking die u voor de azd opdracht hebt gebruikt. Als u de gegenereerde pull-aanvraag hebt mainsamengevoegd, selecteert u main.

  4. Voer een prompt in waarmee de Copilot-coderingsagent specifiek wordt geïnstrueerd om de Azure MCP-server te gebruiken die u hebt geconfigureerd, zoals:

    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.
    

    Druk op Enter om de prompt uit te voeren en copilot-coderingsagent te instrueren om een nieuwe taak te maken en uit te voeren.

    Opmerking

    U kunt ook Copilot-coding-agenttaken uitvoeren op een andere tak dan main door die tak te selecteren in de zijbalk.

  5. Selecteer de taak die onder aan het deelvenster wordt weergegeven om naar de pagina met taakdetails te gaan.

    Een schermopname van het maken van een nieuwe taak voor copilot-coderingsagent.

  6. Scan de uitvoer om de Copilot-coderingsagent te zien.

    • Start de Azure MCP-server:

      Een schermopname van het starten van De Azure MCP-server.

    • Roep verschillende hulpprogramma's aan om informatie over uw Azure-resources te verzamelen:

      Een schermopname waarop de resourcegroep-tool wordt aangeroepen.

    • Geef de resourcegroep weer in de uiteindelijke uitvoer:

      Een schermopname van de gedetecteerde resourcegroepen.

Machtigingen voor de beheerde identiteit configureren

Met de azd coding agent extensie maakt u een door Azure beheerde identiteit die door de Azure MCP-server wordt gebruikt voor toegang tot uw resources. Met deze installatie kunt u verschillende rollen toewijzen aan de beheerde identiteit om de mogelijkheden en machtigingen van Azure MCP Server te beheren.

Standaard wijst de extensie de rol Reader alleen toe aan de scope van de resourcegroep. Wijs extra rollen toe of verbreed het bereik als de agent meer mogelijkheden nodig heeft. Zie ingebouwde rollen.

Als u bijvoorbeeld de rol wilt toewijzen op het Contributor resourcegroepbereik:

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

Probleemoplossingsproces

In de volgende secties worden veelvoorkomende problemen beschreven die u kunt ondervinden.

Er zijn geen git-afstandsbedieningen geconfigureerd

Voeg een externe locatie toe zodat federatieve referenties kunnen worden gegenereerd:

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

Moet beheerdersrechten voor de opslagplaats hebben

Voor het configureren van een GitHub-opslagplaats voor de coderingsagent zijn beheerdersrechten vereist . Zonder deze rechten kunt u de Copilot-omgeving niet bijwerken om referenties voor beheerde identiteiten te gebruiken of de MCP-configuratie voor de opslagplaats bij te werken.

Als u deze fout ziet, moet u uw rechten verhogen.

(!) 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)

Verversingstoken is verlopen

Meld u opnieuw aan:

azd auth login

Voeg vlaggen toe, zoals --tenant-id <tenant-id> of --use-device-code indien nodig.

Diagnostische uitvoer verbeteren

Foutopsporingsmodus gebruiken:

azd coding-agent config --debug

Alle interne opdrachten en hun uitvoer worden op de console weergegeven.

Volgende stappen

  • Identiteitsmachtigingen uitbreiden (alleen indien nodig) met behulp van roltoewijzingen
  • Aanvullende automatisering integreren door de werkstroom uit te breiden in .github/workflows/
  • Andere uitbreidingsmogelijkheden verkennen: Overzicht van extensies
  • Azure RBAC-concepten bekijken

Contributing

Als u wilt bijdragen aan Azure Developer CLI-resources, raadpleegt u de gids voor bijdragen. Voor pull-aanvragen moet u mogelijk een licentieovereenkomst voor inzenders ondertekenen.

Gedragscode

Dit project volgt de Microsoft Open Source-gedragscode.