Łączenie agenta GitHub Copilot w chmurze za pomocą serwera Azure MCP przy użyciu rozszerzeń azd

Użyj rozszerzenia interfejsu wiersza polecenia Azure Developer CLI (azd) (azure.coding-agent), aby zapewnić agentowi chmurowemu GitHub Copilot bezpieczny i ograniczony dostęp do platformy Azure za pomocą tożsamości zarządzanej. 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 używanego przez agenta chmurowego Copilot.
  • Uprawnienia do repozytorium:
    • copilot Zaktualizuj środowisko Usługi GitHub.
    • Skonfiguruj ustawienia agenta Copilot w chmurze.
    • 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 Copilot w chmurze

  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 Copilot w chmurze

Rozszerzenie agenta chmurowego Copilot automatyzuje konfigurowanie dostępu do platformy Azure za pośrednictwem tożsamości zarządzanej dla agenta chmurowego 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 Azure dla agenta Copilot w chmurze

  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 i dzienniki wyjściowe rozszerzenia w konsoli zawierają fragment konfiguracji JSON, którego można użyć do skonfigurowania serwera Azure MCP dla agenta chmurowego 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. W lewym okienku nawigacji wybierz Copilot>Cloud agent.

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

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

Testowanie rozszerzenia agenta Copilot w chmurze

  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 instruuje agenta Copilot w chmurze, aby używał skonfigurowanego serwera Azure MCP, 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 klawisz Enter, aby uruchomić polecenie i poinstruować agenta Copilot w chmurze, aby utworzył i uruchomił nowe zadanie.

    Uwaga / Notatka

    Można również uruchamiać zadania agenta chmurowego Copilot na 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 Copilot w chmurze.

  6. Przeskanuj dane wyjściowe, aby wyświetlić agenta Copilot w chmurze:

    • 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 przypisanie różnych ról do tożsamości zarządzanej, aby kontrolować możliwości i uprawnienia Azure MCP Server.

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 Copilot w chmurze wymaga uprawnień administratora. Bez tych praw nie 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.