Delen via


GitHub Copilot-coderingsagent verbinden met de Azure MCP-server

In dit artikel leest u hoe u de GitHub Copilot-coderingsagent instelt en verbindt met de Azure MCP-server, zodat de coderingsagent inzicht kan krijgen in uw Azure-specifieke bestanden en Azure-resources om wijzigingen aan te brengen in uw codebestanden.

Als u in uw GitHub-opslagplaats GitHub-problemen toewijst aan de GitHub Copilot-coderingsagent, wordt er een pull-aanvraag gemaakt met de wijzigingen in uw code. Als de aangevraagde wijzigingen toegang tot uw Azure-resources vereisen, moet de GitHub Copilot-coderingsagent de Azure MCP-server gebruiken. Voordat de GitHub Copilot-coderingsagent de Azure MCP-server kan gebruiken om wijzigingen aan te brengen in uw Azure-project, moet u de GitHub Copilot-coderingsagent configureren en deze de juiste machtigingen geven in Azure. U kunt alles handmatig configureren, maar veel stappen worden geautomatiseerd met behulp van azdde Azure Developer CLI en de coding-agent extensie.

Vereiste voorwaarden

  • Een Azure-account en toegang tot een Azure-abonnement. Zie de pagina met prijzen voor Azure-accounts voor meer informatie over het instellen ervan.

  • Een GitHub-account en een GitHub Copilot-abonnement. Zie Een account maken op GitHub en quickstart voor GitHub Copilot voor respectievelijk meer informatie over het instellen ervan.

  • Een bestaande lokale kloon van een GitHub-opslagplaats. Omdat in dit artikel wordt beschreven hoe u de verbinding tussen de GitHub Copilot-coderingsagent instelt op de Azure MCP-server, moet de GitHub-opslagplaats implementatiescripts bevatten naar Azure, zoals Bicep- of Terraform-sjablonen.

De GitHub-opslagplaats configureren voor het gebruik van de Azure MCP-server

De azd coderingsagentextensie vereenvoudigt de stappen die nodig zijn om de verbinding tussen de GitHub Copilot-coderingsagent en de Azure MCP-server voor uw Azure-abonnement veilig in te stellen. Eerst maakt het een account in uw Azure-abonnement en wijst het een rol toe met de benodigde machtigingen. Ten tweede biedt het een JSON-codefragment dat is vereist om de Azure MCP-server te introduceren bij de GitHub Copilot-coderingsagent.

  1. Als u deze nog niet hebt azd geïnstalleerd, volgt u de instructies om deze te installeren.

  2. Navigeer in de terminal naar de lokale kloon van de opslagplaats waarmee u wilt werken.

  3. Roep de extensie azd coding agent aan met de opdracht: azd coding-agent config.

  4. Tijdens de installatie wordt u gevraagd het volgende te selecteren:

    • Azure-abonnement
    • Welke GitHub-opslagplaats zal de Copilot Coding-agent gebruiken
    • Of u nu een nieuwe of bestaande door de gebruiker beheerde identiteit wilt maken
    • Een Azure-locatie
    • Een Azure-resourcegroep
    • De GitHub-opslagplaats waar een nieuwe branch wordt gemaakt die het gegenereerde GitHub Actions-werkstroominstallatiebestand bevat.

    Wanneer u de locatie en resourcegroep selecteert, wilt u mogelijk dezelfde doellocatie en resourcegroep gebruiken als de Azure-resources in de toepassing.

  5. Na enkele ogenblikken creëert de azd coderingsagentextensie (of gebruikt de bestaande) een door de gebruiker beheerde identiteit en wijst deze een rol toe. Vervolgens worden identiteitswaarden opgeslagen in de GitHub repositoryomgeving en wordt een nieuwe vertakking gecreëerd en gepusht die het gegenereerde setupbestand van de GitHub Actions-werkstroom bevat.

  6. U ziet een bericht in de console:

    (!)
    (!) NOTE: Some tasks must still be completed, manually:
    (!)
    

    Meestal zijn er drie taken:

    • Voeg de branch samen die het gegenereerde configuratiebestand voor de GitHub Actions-werkstroom bevat.
    • Configureer de beheerde identiteitsrollen van de Copilot-coderingsagent in Azure Portal. Standaard wordt de rol "Reader" toegewezen. Het is echter mogelijk dat u deze andere machtigingen wilt geven op basis van wat u wilt dat de coderingsagent autonoom doet.
    • Ga naar de koppeling om de MCP-configuratie in te stellen. Als u daar handmatig wilt navigeren, gaat u in GitHub naar Instellingen > Copilot-coderingsagent >> MCP-configuratie en plakt u het opgegeven JSON-fragment. Hier is een voorbeeld:
    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  7. Ten slotte kunt u toestaan dat de azd coderingsagent-extensie de browser opent, zodat u de pull-request kunt maken om de branch samen te voegen die het gegenereerde GitHub Actions workflow configuratiebestand bevat.

Een probleem maken in GitHub om de GitHub Copilot-coderingsagent te initiëren

Op dit moment hebt u de GitHub Copilot-coderingsagent ingesteld voor het gebruik van de Azure MCP-server voor eventuele GitHub-problemen die u toewijst aan de GitHub Copilot-coderingsagent die inzicht nodig heeft in Azure-implementaties en -resources.

Stel dat u het geheugen wilt verhogen dat is toegewezen aan PostgreSQL wanneer dit wordt geïmplementeerd in Azure Database for PostgreSQL. U zou een issue aanmaken om uw Bicep-sjabloon te wijzigen zodat de volgende beschikbare opslaglaag wordt gebruikt en het toe te wijzen aan GitHub Copilot.

Opmerking

De rol Door gebruiker beheerde identiteit is standaard ingesteld op Lezer, dus de wijzigingen die u aanvraagt, moeten zijn om implementatiescripts, zoals Bicep- of Terraform-sjablonen, te wijzigen. Het vragen om bestaande resources in uw Azure-abonnement rechtstreeks te wijzigen, is niet geautoriseerd vanwege de machtigingen van de rol Lezer.

  1. Ga in GitHub in de opslagplaats met uw Azure-project waarin u de Azure MCP-server hebt ingeschakeld, naar Problemen.

  2. Selecteer de knop Nieuw probleem. Beschrijf de wijziging die u wilt aanbrengen in de titel- en beschrijvingsvelden van GitHub Copilot. Selecteer de knop Maken.

    U kunt, afgeleid van het eerdere voorbeeld, de volgende tekst gebruiken om uw probleem te beschrijven.

    Title: Increase database storage
    
    Currently, when deploying to Azure via Bicep, we're creating a PostgreSQL database with 32gb of storage. I need the next tier higher -- whatever that is.
    

    Dit voorbeeldprobleem maakt een eenvoudige, duidelijke aanvraag, zelfs als de gebruiker niet precies weet wat ze vragen. Hiermee kan de Azure MCP-server onderzoek doen naar beschikbare opslaglagen voor Azure Database fo PostgreSQL Flexible Server en de instelling in de Bicep-sjabloon die nodig is om deze wijziging aan te brengen.

    Belangrijk

    Zorg ervoor dat u het woord 'Azure' in uw prompt gebruikt om ervoor te zorgen dat GitHub Copilot hulpprogramma's aanvraagt van de Azure MCP-server.

  3. Selecteer de knop Toewijzen aan Copilot onder Toegewezen personen. Het dialoogvenster "Copilot toewijzen aan issue" wordt weergegeven, zodat u de doelopslagplaats en de basisbranch kunt wijzigen, en een optionele prompt kunt toevoegen. Selecteer de knop Toewijzen.

  4. Zodra het probleem is toegewezen aan de GitHub Copilot-coderingsagent, ziet u een koppeling naar de pull-aanvraag met het voorvoegsel [WIP], zodat u weet dat het werk wordt gestart.

  5. Selecteer de koppeling [WIP] om de pull-aanvraag weer te geven.

  6. Selecteer in de hoofdtekst van de pull-aanvraag de koppeling om de coderingssessie weer te geven. Hier ziet u de voortgang die de Copilot Coding-agent doet op de aanvraag, vergelijkbaar met de ervaring in Visual Studio.

  7. Wanneer u klaar bent, vraagt de GitHub Copilot-coderingsagent een codebeoordeling aan. Gebruik uw normale werkstroom om te itereren met GitHub en behandel GitHub Copilot als een collega.

  8. Wanneer u de wijzigingen goedkeurt en de pull-aanvraag samenvoegt, lost GitHub Copilot het oorspronkelijke probleem op dat u hebt gemaakt.