Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak skonfigurować i połączyć agenta kodowania GitHub Copilot z serwerem MCP platformy Azure, aby agent kodowania mógł zrozumieć pliki specyficzne dla platformy Azure i zasoby platformy Azure w celu edytowania plików kodu.
W repozytorium GitHub przypisywanie problemów GitHub do agenta kodowania GitHub Copilot powoduje utworzenie pull requesta ze zmianami w kodzie. Jeśli żądane zmiany wymagają dostępu do zasobów platformy Azure, agent kodowania GitHub Copilot musi korzystać z serwera MCP platformy Azure. Zanim agent kodowania GitHub Copilot będzie mógł używać serwera MCP platformy Azure do wprowadzania zmian w projekcie opartym na platformie Azure, należy skonfigurować agenta kodowania GitHub Copilot i przyznać mu odpowiednie uprawnienia na platformie Azure. Można ręcznie skonfigurować wszystko, jednak wiele kroków jest zautomatyzowanych przy użyciu CLI dla deweloperów platformy Azure oraz rozszerzenia azd.
Wymagania wstępne
Konto platformy Azure i dostęp do subskrypcji platformy Azure. Aby uzyskać szczegółowe informacje na temat sposobu ich konfigurowania, zobacz stronę cennika kont platformy Azure.
Konto usługi GitHub i subskrypcja usługi GitHub Copilot. Aby uzyskać szczegółowe informacje na temat sposobu ich konfigurowania, zobacz Tworzenie konta w usłudze GitHub i przewodnik Szybki start dla usługi GitHub Copilot, odpowiednio.
Istniejący lokalny klon repozytorium GitHub. Ponieważ w tym artykule opisano sposób konfigurowania połączenia między agentem kodowania GitHub Copilot na serwerze MCP platformy Azure, repozytorium GitHub powinno zawierać skrypty wdrażania na platformie Azure, takie jak szablony Bicep lub Terraform.
Konfigurowanie repozytorium GitHub do korzystania z serwera Azure MCP
azd Rozszerzenie agenta kodowania upraszcza kroki wymagane do bezpiecznego skonfigurowania połączenia między agentem kodowania GitHub Copilot i serwerem Azure MCP dla subskrypcji platformy Azure. Najpierw tworzy konto w ramach subskrypcji platformy Azure i przypisuje mu rolę z niezbędnymi uprawnieniami. Po drugie, udostępnia fragment kodu JSON wymagany do wprowadzenia serwera MCP platformy Azure do agenta kodowania GitHub Copilot.
Jeśli nie masz
azdjeszcze zainstalowanej wersji, postępuj zgodnie z instrukcjami , aby go zainstalować.W terminalu przejdź do lokalnego klonu repozytorium, z którym chcesz pracować.
Wywołaj rozszerzenie agenta kodowania azd za pomocą polecenia :
azd coding-agent config.Podczas instalacji zostanie wyświetlony monit o wybranie jednej z opcji:
- Subskrypcja platformy Azure
- Które repozytorium GitHub będzie używać agenta kodowania Copilot
- Czy chcesz utworzyć nową, czy istniejącą tożsamość zarządzaną użytkownika
- Lokalizacja platformy Azure
- Grupa zasobów platformy Azure
- Repozytorium GitHub, w którym zostanie utworzona nowa gałąź zawierająca wygenerowany plik instalacyjny przepływu pracy funkcji GitHub Actions
Podczas wybierania lokalizacji i grupy zasobów możesz użyć tej samej lokalizacji docelowej i grupy zasobów co zasoby platformy Azure w aplikacji.
Po kilku chwilach
azdrozszerzenie agenta kodowania tworzy (lub używa istniejącej) zarządzanej tożsamości użytkownika i przypisuje jej rolę, przechowuje parametry tożsamości w środowisku repozytorium GitHub i tworzy oraz wypycha gałąź zawierającą wygenerowany plik konfiguracyjny przepływu pracy w GitHub Actions.W konsoli zostanie wyświetlony komunikat:
(!) (!) NOTE: Some tasks must still be completed, manually: (!)Zwykle istnieją trzy zadania:
- Połącz gałąź zawierającą wygenerowany plik ustawień przepływu pracy GitHub Actions.
- Skonfiguruj role zarządzania tożsamością agenta kodowania Copilot w portalu Azure. Domyślnie przypisana jest rola "Czytelnik". Możesz jednak nadać mu inne uprawnienia na podstawie tego, co chcesz, aby agent kodowania działał autonomicznie.
- Odwiedź link, aby skonfigurować konfigurację MCP. Aby przejść tam ręcznie, w usłudze GitHub przejdź do pozycji Ustawienia > Copilot > agent kodowania > Konfiguracja MCP i wklej podany fragment JSON. Oto przykład:
{ "mcpServers": { "Azure": { "type": "local", "command": "npx", "args": [ "-y", "@azure/mcp@latest", "server", "start" ], "tools": [ "*" ] } } }Na koniec możesz zezwolić rozszerzeniu agenta
azdkodowania na otwarcie przeglądarki, aby utworzyć pull request w celu scalenia gałęzi zawierającej wygenerowany plik konfiguracji workflow GitHub Actions.
Tworzenie problemu w usłudze GitHub w celu zainicjowania agenta kodowania GitHub Copilot
Na tym etapie pomyślnie skonfigurowaliśmy asystenta kodowania GitHub Copilot do korzystania z serwera MCP platformy Azure dla wszelkich kwestii GitHub przypisanych do asystenta kodowania GitHub Copilot, które wymagają zrozumienia wdrożeń i zasobów platformy Azure.
Załóżmy na przykład, że chcesz zwiększyć ilość pamięci przydzielonej do bazy danych PostgreSQL podczas wdrażania w usłudze Azure Database for PostgreSQL. Utworzyłbyś zgłoszenie, aby zmodyfikować szablon Bicep tak, by używał następnego dostępnego poziomu magazynu, a następnie przypisał je do usługi GitHub Copilot.
Uwaga / Notatka
Rola zarządzana przez użytkownika "Tożsamość" jest domyślnie ustawiona na "Czytelnik", więc wymagane zmiany powinny dotyczyć modyfikacji skryptów wdrożeniowych, takich jak szablony Bicep lub Terraform. Prośba o bezpośrednie zmodyfikowanie istniejących zasobów w subskrypcji platformy Azure nie jest autoryzowana ze względu na uprawnienia roli "Czytelnik".
W usłudze GitHub w repozytorium zawierającym projekt oparty na platformie Azure, w którym włączono serwer MCP platformy Azure, przejdź do pozycji Problemy.
Wybierz przycisk "Nowy problem". Opisz zmiany, które mają zostać utworzone przez agenta kodowania GitHub Copilot w polach tytułu i opisu. Wybierz przycisk "Utwórz".
Naśladując przykład z wcześniej, możesz użyć następującego tekstu, aby opisać swój problem.
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.Ten przykładowy problem formułuje prośbę w sposób prosty i jednoznaczny, nawet jeśli użytkownik nie wie dokładnie, o co prosi. Umożliwia to serwerowi MCP platformy Azure badanie dostępnych warstw magazynowania dla serwera elastycznego usługi Azure Database fo PostgreSQL oraz ustawienie w szablonie Bicep wymaganym do wprowadzenia tej zmiany.
Ważne
Pamiętaj, aby w monicie użyć słowa "Azure", aby upewnić się, że narzędzie GitHub Copilot żąda narzędzi z serwera MCP platformy Azure.
Wybierz przycisk "Przypisz do Copilot" w obszarze Przypisani. Zostanie wyświetlone okno dialogowe "Przypisz Copilot do zadania," umożliwiające zmodyfikowanie repozytorium docelowego, gałęzi podstawowej i dodanie opcjonalnej podpowiedzi. Wybierz przycisk "Przypisz".
Po przypisaniu problemu do agenta kodowania GitHub Copilot zostanie wyświetlony link do żądania ściągnięcia z prefiksem "[WIP]" z informacją o rozpoczęciu pracy.
Wybierz link "[WIP]", aby wyświetlić żądanie ściągnięcia.
W treści żądania ściągnięcia wybierz link, aby wyświetlić sesję kodowania. To pokazuje postęp, jaki agent kodowania Copilot osiąga w związku z żądaniem, podobnie jak to ma miejsce w Visual Studio.
Po zakończeniu agent kodowania GitHub Copilot żąda przeglądu kodu. Użyj normalnego przepływu pracy, aby iterować z usługą GitHub, traktując agenta kodowania GitHub Copilot jako współpracownika.
Po zatwierdzeniu zmian i scaleniu żądania ściągnięcia, GitHub Copilot rozwiązuje pierwotny problem, który utworzyłeś.