Udostępnij przez


Konfigurowanie dostosowań zespołu

Użyj funkcji dostosowywania usługi Microsoft Dev Box, aby usprawnić konfigurowanie środowisk deweloperskich opartych na chmurze. Rozpoczęcie nowego projektu lub dołączenie do nowego zespołu może być skomplikowane i czasochłonne. Dostosowania zespołu używają pliku definicji obrazu (imagedefinition.yaml), aby wstępnie instalować narzędzia, klonować repozytoria i ustawiać ustawienia dla każdego pola deweloperskiego w puli. Dzięki dostosowaniom zespołu administratorzy mogą udostępniać gotowe do kodu stacje robocze z aplikacjami, narzędziami, repozytoriami, bibliotekami kodu, pakietami i skryptami kompilacji. W tym artykule pokazano, jak utworzyć, przetestować i edytować plik definicji obrazu dla pola deweloperskiego w programie Visual Studio Code.

Dostosowania w usłudze Dev Box można używać na dwa sposoby. Dostosowania zespołu tworzą konfigurację udostępnioną dla zespołu. Dostosowania użytkowników tworzą konfigurację osobistą dla indywidualnego dewelopera. Poniższa lista zawiera podsumowanie różnic między tymi typami dostosowywania.

  • Dostosowania zespołu: zdefiniowane raz, stosowane do każdego pola deweloperskiego w puli za pośrednictwem pliku imagedefinition.yaml w katalogu.
  • Dostosowania użytkownika: osobisty kod YAML przekazany podczas tworzenia pola; dotyczy tylko tego jednego pola.
  • Użyj zespołu w celu zapewnienia spójności i zgodności; użyj użytkownika do preferencji osobistych.

Aby dowiedzieć się więcej, zobacz Dostosowania usługi Microsoft Dev Box.

Skonfiguruj dostosowania zespołu, wykonując następujące kroki:

Diagram przedstawiający pięcioetapowy przepływ pracy dostosowywania zespołu w usłudze Microsoft Dev Box.

Wymagania wstępne

Product Requirements
Microsoft Dev Box — Skonfiguruj centrum deweloperskie z pulą deweloperów i projektem dev box , aby można było utworzyć pole deweloperskie.
— Dołącz katalog do centrum deweloperów z zadaniami, których można użyć w pliku definicji obrazu. Jeśli nie masz wykazu, zobacz Dodawanie i konfigurowanie wykazu z repozytoriów GitHub lub Azure Repos.
-Uprawnienia
- Aby utworzyć pole deweloperskie: Dołącz do grupy zabezpieczeń Użytkownicy usługi Dev Box dla co najmniej jednego projektu.
- Aby włączyć wykazy na poziomie projektu dla centrum deweloperów: Inżynier platformy z dostępem do zapisu w subskrypcji.
- Aby włączyć ustawienia synchronizacji katalogu dla projektu: Inżynier platformy z dostępem do zapisu w subskrypcji.
- Aby dołączyć wykaz do projektu: Uprawnienia administratora projektu lub współautora centrum deweloperów w projekcie.
Visual Studio Code — Instalowanie najnowszej wersji

Tworzenie pliku definicji obrazu

Aby zdefiniować narzędzia, pakiety i konfiguracje potrzebne zespołowi, utwórz plik definicji obrazu w formacie YAML zawierający listę wymaganych zadań dla środowiska usługi Dev Box.

Używanie wbudowanych zadań lub wykazu dla zadań niestandardowych

Zadania to akcje wielokrotnego użytku, które pochodzą z wbudowanych elementów pierwotnych (WinGet, PowerShell i Git-Clone) lub z katalogu dołączanego do projektu centrum deweloperskiego. Wybierz źródło, które najlepiej odpowiada potrzebom dostosowywania i wymaganiom projektu.

  • Użyj wbudowanych zadań WinGet, PowerShell i Git-Clone. Centra programistyczne Dev Box obsługują gotowe do użycia zadania PowerShell i WinGet. Jeśli dostosowania wymagają tylko programu PowerShell, WinGet lub Git-Clone możesz rozpocząć pracę z tymi wbudowanymi zadaniami i utworzyć plik definicji obrazu. Aby uzyskać więcej informacji, zobacz Tworzenie pliku definicji obrazu.

    Ważne

    Wbudowane zadanie WinGet nie jest takie samo jak plik wykonywalny WinGet. Wbudowane zadanie WinGet jest oparte na poleceniu cmdlet WinGet programu PowerShell.

  • Użyj wykazu, aby zdefiniować zadania niestandardowe. Utwórz własne zadania niestandardowe. Aby udostępnić zadania niestandardowe całej organizacji, dołącz katalog zawierający niestandardowe definicje zadań do centrum deweloperów. Usługa Dev Box obsługuje katalogi usług Azure Repos i GitHub. Ponieważ zadania są definiowane tylko w centrum deweloperów, przechowuj zadania i definicje obrazów w oddzielnych repozytoriach.

    Aby dowiedzieć się więcej na temat definiowania zadań niestandardowych, zobacz Konfigurowanie zadań dostosowywania usługi Dev Box.

Usługa Dev Box obsługuje przepływ pracy agenta z trybem agenta GitHub Copilot. Użyj monitów języka naturalnego, aby wygenerować plik definicji obrazu (imagedefinition.yaml). Narzędzie GitHub Copilot ułatwia konfigurowanie środowiska usługi Dev Box, ponieważ zamiast ręcznie tworzyć pliki YAML, zamiast ręcznie opisywać potrzeby.

Przepływ pracy agenta usługi Dev Box umożliwia:

  • Naśladować bieżące środowisko projektowe — generuj lub zmienia definicję zgodną z konfiguracją bieżącej maszyny.
  • Użyj kontekstu repozytorium — utwórz lub zmień definicję w kontekście określonego repozytorium GitHub.
  • Użyj instrukcji języka naturalnego — wygeneruj plik definicji obrazu, opisując żądane środowisko deweloperskie.

Uwaga / Notatka

Przepływ pracy agenta obsługuje tylko zadania pierwotne usługi Dev Box, w tym WinGet, PowerShell i Git-Clone.

Generowanie pliku definicji obrazu

  1. Otwórz Visual Studio Code.

  2. Zainstaluj rozszerzenie Dev Box.

    Otwórz rozszerzenia (Ctrl+Shift+X), wyszukaj ciąg Dev Box i zainstaluj rozszerzenie.

    Zrzut ekranu przedstawiający okienko Rozszerzenia w programie Visual Studio Code z rozszerzeniem Dev Box.

  3. Zainstaluj rozszerzenie GitHub Copilot skonfigurowane w programie VS Code.

  4. Upewnij się, że tryb agenta jest włączony, ustawiając wartość chat.agent.enabled w edytorze ustawień. To ustawienie wymaga programu Visual Studio Code 1.99 lub nowszego.

  5. Otwórz czat Copilot w programie VS Code.

    • Upewnij się, że narzędzia Usługi Dev Box są wstępnie zaznaczone w obszarze Wybierz narzędzia.

      Zrzut ekranu przedstawiający wstępnie wybrane narzędzia Dev Box w okienku czatu copilot w programie Visual Studio Code.

      Zrzut ekranu przedstawiający interfejs czatu copilot w programie Visual Studio Code.

    • Wybierz pozycję Tryb agenta i wybierz model: Claude 3.5 Sonnet.

      Zrzut ekranu przedstawiający wybór trybu agenta w aplikacji Copilot Chat z modelem Claude'a 3.5 Sonnet.

  6. Podaj monity języka naturalnego, takie jak:

    • "Chcę skonfigurować pole deweloperskie ze wszystkimi narzędziami i pakietami wymaganymi do pracy nad tym repozytorium [nazwa repozytorium].

    • "Chcę wstępnie instalować program Visual Studio 2022 Enterprise, Visual Studio Code, Git, .NET SDK 8, Node.js LTS i Docker Desktop w polu deweloperskim i sklonować repozytorium zespołu [URL] na pole deweloperskie".

    • "Chcę skonfigurować pole deweloperskie ze wszystkimi narzędziami deweloperskimi i pakietami zainstalowanymi na mojej bieżącej maszynie".

    Wskazówka

    Sklonuj i otwórz określone repozytorium w programie Visual Studio Code, jeśli chcesz wygenerować definicję w kontekście repozytorium.

  7. Postępuj zgodnie z monitami, aby skonfigurować pakiety.

    • Po wyświetleniu monitu wybierz pozycję Kontynuuj , aby kontynuować konfigurowanie pakietu.

    • Copilot generuje plik imagedefinition.yaml .

  8. Uściślij więcej monitów.

    • Kontynuuj interakcję z agentem do momentu wyświetlenia w pliku narzędzi i pakietów.

Przekazywanie pliku definicji obrazu do repozytorium

Repozytorium GitHub lub Azure Repos można użyć jako katalogu, aby plik definicji obrazu był dostępny z projektu dev box. Każdy projekt może mieć katalog, który przechowuje wiele plików definicji obrazów, które można skonfigurować w pulach w celu dostosowania ich do potrzeb zespołów deweloperów.

Po utworzeniu pliku definicji obrazu, którego chcesz użyć, przekaż go do katalogu. W poniższych sekcjach pokazano, jak dołączyć katalog do projektu i udostępnić definicję obrazu do wyboru podczas konfigurowania pul pól deweloperskich.

Konfigurowanie definicji obrazów na poziomie projektu

Projekty ułatwiają efektywne zarządzanie zasobami usługi Dev Box. Każdy zespół deweloperów może przypisać własny projekt, aby efektywnie organizować zasoby. Utwórz wiele definicji obrazów w repozytorium katalogu, z których każdy w swoim folderze będzie przeznaczony dla różnych zespołów deweloperów w ramach projektu.

Włączanie wykazów na poziomie projektu

Włącz katalogi na poziomie projektu na poziomie centrum deweloperów przed dodaniem wykazu do projektu. Aby włączyć wykazy na poziomie projektu na poziomie centrum deweloperów:

  1. W witrynie Azure Portal przejdź do centrum deweloperów.

  2. W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Ustawienia Centrum deweloperów.

  3. W obszarze Katalogi na poziomie projektu wybierz pozycję Włącz wykazy dla każdego projektu, a następnie wybierz pozycję Zastosuj.

    Zrzut ekranu przedstawiający stronę Ustawienia centrum deweloperów z otwartym okienkiem Katalogi na poziomie projektu i wybraną opcją Włącz wykazy na projekt.

Aby uzyskać więcej informacji na temat dodawania katalogów do projektów, zobacz Dodawanie i konfigurowanie wykazu z repozytoriów GitHub lub Azure Repos.

Konfigurowanie ustawień synchronizacji katalogu dla projektu

Skonfiguruj projekt, aby synchronizować definicje obrazów z katalogu. To ustawienie umożliwia tworzenie pul pól deweloperskich za pomocą definicji obrazów w katalogu.

  1. Zaloguj się do witryny Azure Portal.

  2. W polu wyszukiwania wprowadź projekty. Z listy wyników wybierz pozycję Projekty.

  3. Otwórz projekt Dev Box, w którym chcesz skonfigurować ustawienia synchronizacji katalogu.

  4. Wybierz pozycję Katalogi.

  5. Wybierz pozycję Synchronizuj ustawienia.

    Zrzut ekranu przedstawiający okienko Katalogi w witrynie Azure Portal z wyróżnionym przyciskiem ustawień synchronizacji.

  6. W okienku Ustawienia synchronizacji wybierz pozycję Definicje obrazów, a następnie wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający okienko ustawień synchronizacji w witrynie Azure Portal z wyróżnionym polem wyboru definicji obrazów.

Dołączanie wykazu zawierającego plik definicji obrazu

Aby użyć pliku definicji obrazu, dołącz katalog zawierający plik do projektu. Dzięki temu definicja obrazu jest dostępna do wyboru podczas konfigurowania pul pól deweloperskich.

W okienku Definicje obrazów są wyświetlane definicje obrazów, których może używać projekt.

Zrzut ekranu przedstawiający okienko witryny Azure Portal z definicjami obrazów dostępnymi dla projektu.

Aby dowiedzieć się, jak dołączać wykazy, zobacz Dodawanie i konfigurowanie wykazu z repozytoriów GitHub lub Azure.

Konfigurowanie puli usługi Dev Box do używania definicji obrazu

Pozwól zespołowi programistycznemu używać dostosowań, konfigurując pulę pól deweloperskich przy użyciu pliku definicji obrazu. Zapisz plik definicji obrazu w repozytorium połączonym z projektem jako katalog. Określ ten plik jako definicję obrazu dla puli, a dostosowania mają zastosowanie do nowych pól deweloperskich.

Wykonaj następujące kroki, aby utworzyć pulę pól deweloperskich i określić definicję obrazu:

  1. Zaloguj się do witryny Azure Portal.

  2. W polu wyszukiwania wprowadź projekty. Na liście wyników wybierz pozycję Projekty.

  3. Otwórz projekt Dev Box, z którym chcesz skojarzyć nową pulę usługi Dev Box.

  4. Wybierz Pule deweloperskie, a następnie wybierz Utwórz.

  5. W okienku Tworzenie puli pól deweloperskich wprowadź następujące wartości:

    Ustawienia Wartość
    Nazwa Wprowadź nazwę puli. Nazwa puli jest widoczna dla deweloperów podczas tworzenia pól deweloperskich. Musi być unikatowy w projekcie.
    Definicja To pole zawiera listę definicji obrazów z dostępnych katalogów oraz definicji boksów deweloperskich. Wybierz plik definicji obrazu.
    Połączenie sieciowe Wybierz pozycję Wdróż w sieci hostowanej przez firmę Microsoft lub użyj istniejącego połączenia sieciowego.
    Włączanie logowania jednokrotnego Wybierz pozycję Tak , aby umożliwić logowanie jednokrotne dla pól deweloperskich w tej puli. Należy skonfigurować logowanie jednokrotne dla organizacji. Aby uzyskać więcej informacji, zobacz Włączanie logowania jednokrotnego dla pól deweloperskich.
    Uprawnienia twórcy w środowisku deweloperskim Wybierz pozycję Administrator lokalny lub Użytkownik standardowy.
    Włączanie automatycznego zatrzymywania Wartość tak jest domyślna. Wybierz pozycję Nie , aby wyłączyć harmonogram automatycznego wyłączania. Harmonogram automatycznego zatrzymania można skonfigurować po utworzeniu puli.
    Czas zatrzymania Wybierz czas, aby zatrzymać wszystkie pola deweloperskie w puli.
    Strefa czasowa Wybierz strefę czasową dla czasu zatrzymania.
    Licencjonowanie Zaznacz to pole wyboru, aby potwierdzić, że organizacja ma licencje korzyści użycia hybrydowego platformy Azure, które mają być stosowane do pól deweloperskich w tej puli.

    Zrzut ekranu przedstawiający okienko służące do tworzenia puli usługi Dev Box.

  6. Wybierz Utwórz.

  7. Sprawdź, czy nowa pula pól deweloperskich jest wyświetlana na liście. Może być konieczne odświeżenie ekranu.

Tworzenie pola deweloperskiego przy użyciu portalu dla deweloperów

Aby sprawdzić, czy dostosowania z pliku definicji obrazu są stosowane, utwórz pole deweloperskie w portalu deweloperów usługi Dev Box. Wykonaj kroki opisane w przewodniku Szybki start: tworzenie i nawiązywanie połączenia z usługą Dev Box przy użyciu portalu deweloperów usługi Dev Box. Następnie połącz się z nowym polem deweloperskim i sprawdź, czy dostosowania działają zgodnie z oczekiwaniami.

Wprowadź zmiany w pliku definicji obrazu i utwórz nowe pole deweloperskie, aby je przetestować. Jeśli masz pewność, że dostosowania są poprawne, utwórz obraz wielokrotnego użytku.

Używanie modułowych skryptów i plików w dostosowaniach usługi Dev Box

Modułowe skrypty i pliki, takie jak skrypty programu PowerShell, pliki Desired State Configuration (DSC), pliki konfiguracji, pliki tekstowe lub obrazy mogą być przechowywane w katalogu udostępnionym, aby umożliwić ponowne użycie i standaryzację dostosowań Dev Box na wielu obrazach.

Są one przeznaczone do:

  • Podwyższanie poziomu ponownego użycia w wielu konfiguracjach usługi Dev Box
  • Zmniejszanie duplikacji i nakładu pracy konserwacyjnych
  • Zapewnienie spójności praktyk konfiguracji

Struktura wykazu

Pliki w tym samym folderze co plik imagedefinition.yaml lub w jego podfolderach są kopiowane do pola deweloperskiego podczas tworzenia. Te pliki można używać podczas uruchamiania zadań dostosowywania.

Na poniższym diagramie przedstawiono strukturę katalogu dla modułowych skryptów i plików w dostosowaniach usługi Dev Box.

Diagram przedstawiający strukturę katalogu z folderem definiowania obrazów, podfolderami Frontend-imagedef i backend-imagedef oraz podfolderami dla skryptów i plików.

Na najwyższym poziomie znajduje się folder definicji obrazów. Wewnątrz znajdują się podfoldery definicji obrazów, takie jak frontend-imagedef i backend-imagedef. Folder frontend-imagedef ma plik skryptu programu PowerShell. Folder backend-imagedef zawiera podfolder zawierający pliki DSC. Jedną ze struktur można użyć do przechowywania skryptów i innych plików.

Odwołania do modułowych skryptów lub plików

Plik definicji obrazu ustawia listę zadań uruchamianych w kontekście systemu i userTasks uruchamianych po pierwszym logowaniu w nowym polu deweloperskim w kontekście użytkownika. Użyj nazw wyświetlanych dla zadań, aby wyjaśnić przeznaczenie każdego zadania. W pliku definicji obrazu odwołaj się do skryptów modułowych, które chcesz uruchomić, lub plików, które chcesz uwzględnić.


$schema: "1.0"
name: "modular-script"
image: microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win11-m365-gen2
description: "This definition shows examples of referencing PowerShell scripts and DSC configuration files."

tasks:
  - name: ~/powershell
    displayName: "Modular Script"
    parameters:
      script: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.ps1
  - name: ~/winget
    displayName: "Install VS Code"
    parameters:
      configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.dsc.yaml

userTasks:
  - name: ~/winget
    displayName: "Install Insomnia"
    parameters:
      configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso-user.dsc.yaml

Usługa Dev Box sprawdza, czy wszystkie zadania odwołują się do elementów wewnętrznych (takich jak Program PowerShell lub WinGet) lub tych, które są dostępne na poziomie centrum deweloperów. Pobiera wszystkie pliki definicji obrazu do przeznaczonego katalogu na nowym komputerze deweloperskim, wraz z odpowiednimi plikami zadań. Następnie wykonuje każde zadanie w pobranym katalogu zadań i przekazuje stan zadania po zakończeniu.

Następny krok

Teraz, gdy masz plik definicji obrazu, który konfiguruje i tworzy pola deweloperskie dla zespołu deweloperów, dowiedz się, jak zoptymalizować czas tworzenia pola deweloperskiego za pomocą tworzenia obrazów centrum deweloperów.