Udostępnij przez


Łączenie agenta kodowania GitHub Copilot z serwerem Azure MCP przy użyciu rozszerzeń azd

Użyj rozszerzenia Azure Developer CLI (azd), aby zapewnić GitHub Copilot bezpieczny i ograniczony dostęp do platformy Azure za pomocą zarządzanej tożsamości. Rozszerzenie tworzy tożsamość zarządzaną, konfiguruje poświadczenia federacyjne i konfiguruje przepływ pracy funkcji GitHub Actions w repozytorium.

Zobacz Omówienie rozszerzeń , aby dowiedzieć się, jak rozszerzenia dodają możliwości do usługi azd.

Wymagania wstępne

  • Zainstaluj interfejs wiersza polecenia dla deweloperów platformy Azure (azd). Zobacz instrukcje dotyczące instalacji.
  • Subskrypcja platformy Azure umożliwiająca tworzenie grup zasobów i tożsamości zarządzanych.
  • Lokalna kopia repozytorium GitHub udostępnionego dla Copilot Coding Agent.
  • Uprawnienia do repozytorium:
    • copilot Zaktualizuj środowisko Usługi GitHub.
    • Skonfiguruj ustawienia agenta kodowania Copilot.
    • Prześlij zmiany do .github/workflows folderu.
  • Co najmniej jedno skonfigurowane zdalne narzędzie Git dla repozytorium (wymagane dla poświadczeń federacyjnych).

Instalowanie lub uaktualnianie rozszerzenia agenta kodowania Copilot

  1. Instalowanie po raz pierwszy

    azd extension install azure.coding-agent
    

    Uaktualnianie do najnowszej wersji

    azd extension upgrade azure.coding-agent
    
  2. Sprawdź, czy jest zainstalowany:

    azd extension list --installed
    

    Powinieneś zobaczyć azure.coding-agent na liście.

Korzystanie z rozszerzenia agenta kodowania Copilot

Rozszerzenie agenta kodowania Copilot automatyzuje konfigurowanie dostępu platformy Azure za pośrednictwem tożsamości zarządzanej dla agenta kodowania Copilot. Aby ukończyć instalację, należy również wykonać kilka ręcznych kroków.

Włączanie dostępu do platformy Azure

  1. W głównym katalogu repozytorium lokalnego wykonaj poniższe polecenie:

    azd coding-agent config
    
  2. Postępuj zgodnie z monitami wyświetlanymi na ekranie, aby ukończyć przepływ pracy rozszerzenia.

    Podczas konfigurowania rozszerzenia:

    • Tworzy (lub ponownie używa) grupy zasobów.
    • Tworzy tożsamość zarządzaną platformy Azure.
    • Przypisuje rolę Czytelnik do tej tożsamości o określonym zakresie do grupy zasobów.
    • Ustanawia poświadczenia federacyjne łączące repozytorium GitHub z tożsamością zarządzaną.
    • Dodaje (lub aktualizuje) copilot-setup-steps.yml przepływ pracy i powiązane zasoby.
    • Przeprowadzi Cię przez proces finalizowania ustawień środowiska dla usługi GitHub w środowisku copilot.

Weryfikowanie konfiguracji (opcjonalnie)

  1. Wyświetl listę tożsamości zarządzanej w utworzonej (lub zaktualizowanej) grupie zasobów:

    az identity list --resource-group <resource-group-name>
    
  2. W usłudze GitHub otwórz opcję Ustawienia>Środowiska>, wybierz środowisko copilot i potwierdź wpis poświadczeń federacyjnych odnoszący się do tożsamości zarządzanej (wydawca przedmiotu powinien odzwierciedlać usługę GitHub).

Konfigurowanie serwera MCP platformy Azure dla agenta kodowania Copilot

  1. Rozszerzenie azd coding agent tworzy żądanie ściągnięcia dla gałęzi z nowym plikiem przepływu pracy usługi GitHub pod adresem origin/azd-enable-copilot-coding-agent-with-azure. Jeśli chcesz użyć połączenia serwera Azure MCP w gałęzi main, zatwierdź to żądanie ściągnięcia.

    Opis pull requestu oraz dzienniki wyjściowe rozszerzenia w konsoli zawierają fragment konfiguracji JSON, którego można użyć do skonfigurowania serwera Azure MCP dla agenta kodowania Copilot.

    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  2. Aby skonfigurować serwer MCP platformy Azure, przejdź do strony Ustawienia repozytorium.

  3. Wybierz Copilot -> agent kodowania w lewym menu nawigacyjnym.

  4. Wklej fragment kodu JSON z Pull Request do pola konfiguracji MCP i wybierz Zapisz konfigurację MCP.

    Zrzut ekranu przedstawiający sposób konfigurowania serwera MCP platformy Azure dla agenta kodowania Copilot.

Testowanie rozszerzenia agenta kodowania Copilot

  1. Przejdź do repozytorium w usłudze GitHub.

  2. Wybierz ikonę Otwórz panele agentów na prawym górnym pasku nawigacyjnym.

  3. W wysuwanym panelu wybierz repozytorium i gałąź, której użyłeś dla polecenia azd. Jeśli scaliłeś wygenerowane żądanie zmiany do main, wybierz main.

  4. Wprowadź monit, który w szczególności nakazuje agentowi kodowania Copilot użycie skonfigurowanego serwera MCP platformy Azure, na przykład:

    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.
    

    Naciśnij Enter, aby uruchomić monit i poinstruuj agenta kodowania Copilot, aby utworzyć i uruchomić nowe zadanie.

    Uwaga / Notatka

    Możesz również uruchamiać zadania agenta kodowania Copilot w gałęzi innej niż main , wybierając tę gałąź w panelu wysuwanym.

  5. Wybierz zadanie wyświetlane w dolnej części panelu, aby przejść do strony szczegółów zadania.

    Zrzut ekranu przedstawiający sposób tworzenia nowego zadania dla agenta kodowania Copilot.

  6. Przeskanuj dane wyjściowe, aby zobaczyć agenta kodowania Copilot:

    • Uruchom serwer MCP platformy Azure:

      Zrzut ekranu przedstawiający uruchamianie serwera MCP platformy Azure.

    • Wywołaj różne narzędzia, aby zebrać informacje o zasobach platformy Azure:

      Zrzut ekranu ukazujący narzędzie grupy zasobów, które jest wywoływane.

    • Wyświetl grupę zasobów w końcowych danych wyjściowych:

      Zrzut ekranu przedstawiający odnalezione grupy zasobów.

Konfigurowanie uprawnień na tożsamość zarządzaną

Rozszerzenie azd coding agent tworzy tożsamość zarządzaną platformy Azure używaną przez serwer Azure MCP do uzyskiwania dostępu do zasobów. Ta konfiguracja umożliwia przypisywanie różnych ról do tożsamości zarządzanej w celu kontrolowania możliwości i uprawnień serwera MCP platformy Azure.

Domyślnie rozszerzenie przypisuje tylko Reader rolę do zakresu grupy zasobów. Przypisz dodatkowe role lub poszerz zakres, jeśli agent potrzebuje większej liczby możliwości. Zobacz role wbudowane.

Aby na przykład przypisać rolę Contributor w ramach zakresu grupy zasobów:

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

Rozwiązywanie problemów

W poniższych sekcjach opisano typowe problemy, które można napotykać.

Nie skonfigurowano zdalnego repozytorium Git

Dodaj połączenie zdalne, aby można było wygenerować poświadczenia federacyjne:

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

Musi mieć uprawnienia administratora do repozytorium

Skonfigurowanie repozytorium GitHub dla agenta kodowania wymaga uprawnień administratora. Bez tych praw nie będzie można zaktualizować środowiska Copilot w celu używania poświadczeń tożsamości zarządzanej ani zaktualizować konfiguracji MCP dla repozytorium.

Jeśli widzisz ten błąd, musisz podnieść swoje prawa.

(!) 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 odświeżania wygasł

Zaloguj się ponownie:

azd auth login

Dodaj flagi, takie jak --tenant-id <tenant-id> lub --use-device-code w razie potrzeby.

Ulepszanie danych wyjściowych diagnostyki

Użyj trybu debugowania:

azd coding-agent config --debug

Wszystkie wewnętrzne polecenia i ich dane wyjściowe zostają wyświetlane w konsoli.

Dalsze kroki

Contributing

Aby współtworzyć zasoby Azure Developer CLI, zobacz przewodnik współtworzenia. Żądania ściągnięcia mogą wymagać podpisania umowy licencyjnej współautora.

Kodeks postępowania

Ten projekt jest zgodny z kodeksem postępowania firmy Microsoft typu open source.