Dela via


Konfigurera teamanpassningar

Använd microsoft Dev Box-anpassningsfunktionen för att effektivisera konfigurationen av molnbaserade utvecklingsmiljöer. Att starta ett nytt projekt eller gå med i ett nytt team kan vara komplext och tidskrävande. Teamanpassningar använder en bilddefinitionsfil (imagedefinition.yaml) för att förinstallera verktyg, klona lagringsplatser och ange inställningar för varje utvecklingsruta i en pool. Med teamanpassningar kan administratörer tillhandahålla färdiga arbetsstationer med appar, verktyg, lagringsplatser, kodbibliotek, paket och byggskript. Den här artikeln visar hur du skapar, testar och redigerar en bilddefinitionsfil för din utvecklingsruta i Visual Studio Code.

Du kan använda anpassningar i Dev Box på två sätt. Teamanpassningar skapar en delad konfiguration för ett team. Användaranpassningar skapar en personlig konfiguration för en enskild utvecklare. I följande lista sammanfattas skillnaderna mellan dessa anpassningstyper.

  • Teamanpassningar: Definieras en gång, tillämpas på varje utvecklingsruta i en pool via imagedefinition.yaml i en katalog.
  • Användaranpassningar: Personlig YAML som laddades upp när rutan skapades; påverkar bara den rutan.
  • Använd teamet för konsekvens och efterlevnad; använda användaren för personliga inställningar.

Mer information finns i Microsoft Dev Box-anpassningar.

Konfigurera teamanpassningar genom att följa dessa steg:

Diagram som visar femstegsarbetsflödet för teamanpassningar i Microsoft Dev Box.

Förutsättningar

Produkt Kravspecifikation
Microsoft Dev Box – Konfigurera ett utvecklingscenter med en dev box-pool och ett dev box-projekt så att du kan skapa en utvecklingslåda.
– Koppla en katalog till utvecklingscentret med uppgifter som du kan använda i bilddefinitionsfilen. Om du inte har någon katalog kan du läsa Lägga till och konfigurera en katalog från GitHub eller Azure Repos.
-Behörigheter
- Så här skapar du en utvecklingsruta: Gå med i säkerhetsgruppen Dev Box-användare för minst ett projekt.
- Så här aktiverar du kataloger på projektnivå för ett utvecklingscenter: Plattformstekniker med skrivåtkomst till prenumerationen.
- Så här aktiverar du inställningar för katalogsynkronisering för ett projekt: Plattformstekniker med skrivåtkomst till prenumerationen.
- Så här kopplar du en katalog till ett projekt: Projektadministratörs- eller deltagarbehörigheter för Dev Center för projektet.
Visual Studio-koden – Installera den senaste versionen

Skapa en bilddefinitionsfil

Om du vill definiera de verktyg, paket och konfigurationer som ditt team behöver skapar du en bilddefinitionsfil i YAML-format som visar de uppgifter som krävs för utvecklingsmiljön.

Använda inbyggda uppgifter eller en katalog för anpassade uppgifter

Uppgifter är återanvändbara åtgärder som kommer från inbyggda primitiver (WinGet, PowerShell och Git-Clone) eller från en katalog som du kopplar till ditt dev center-projekt. Välj den källa som bäst passar dina anpassningsbehov och projektkrav.

  • Använd WinGet, PowerShell och Git-Clone inbyggda uppgifter. Dev Box dev centers stöder PowerShell- och WinGet-uppgifter direkt. Om dina anpassningar bara kräver PowerShell, WinGet eller Git-Clone kan du komma igång med dessa inbyggda uppgifter och skapa bilddefinitionsfilen. Mer information finns i Skapa en bilddefinitionsfil.

    Viktigt!

    Den inbyggda WinGet-uppgiften är inte samma som den körbara WinGet-åtgärden. Den inbyggda WinGet-uppgiften baseras på PowerShell WinGet-cmdleten.

  • Använd en katalog för att definiera anpassade uppgifter. Skapa egna anpassade uppgifter. Om du vill göra anpassade uppgifter tillgängliga för hela organisationen bifogar du en katalog som har anpassade uppgiftsdefinitioner i utvecklingscentret. Dev Box stöder Azure Repos- och GitHub-kataloger. Eftersom uppgifter endast definieras i utvecklingscentret lagrar du uppgifter och bilddefinitioner i separata lagringsplatser.

    Mer information om hur du definierar anpassade uppgifter finns i Konfigurera uppgifter för Dev Box-anpassningar.

Dev Box stöder ett agentiskt arbetsflöde med GitHub Copilot-agentläge. Använd frågor på naturligt språk för att generera bilddefinitionsfilen (imagedefinition.yaml). GitHub Copilot gör det enklare att konfigurera Din Dev Box-miljö eftersom du beskriver dina behov konversationsmässigt i stället för att skapa YAML-filer manuellt.

Med dev box-agentarbetsflödet kan du:

  • Efterlikna din aktuella utvecklingsmiljö – Generera eller ändra en definition som matchar konfigurationen av den aktuella datorn.
  • Använd lagringsplatskontext – Skapa eller ändra en definition i kontexten för en specifik GitHub-lagringsplats.
  • Använd instruktioner för naturligt språk – Generera en bilddefinitionsfil genom att beskriva den utvecklingsmiljö du vill använda.

Anmärkning

Det agentiska arbetsflödet stöder endast primitiva Uppgifter i Dev Box, inklusive WinGet, PowerShell och Git-Clone.

Generera bilddefinitionsfilen

  1. Öppna Visual Studio Code.

  2. Installera Dev Box-tillägget.

    Öppna tillägg (Ctrl+Skift+X), sök efter Dev Box och installera tillägget.

    Skärmbild av fönstret Tillägg i Visual Studio Code som visar Dev Box-tillägget.

  3. Installera GitHub Copilot-tillägget som konfigurerats i VS Code.

  4. Kontrollera att agentläget är aktiverat genom att ange chat.agent.enabled i inställningsredigeraren. Den här inställningen kräver Visual Studio Code 1.99 eller senare.

  5. Öppna Copilot Chat i VS Code.

    • Kontrollera att Dev Box-verktyg är förvalda under Välj verktyg.

      Skärmbild av fönstret Copilot Chat i Visual Studio Code med Dev Box-verktygen förvalda.

      Skärmbild av Copilot Chat-gränssnittet i Visual Studio Code.

    • Välj Agentläge och välj modellen: Claude 3.5 Sonnet.

      Skärmbild av valet Agentläge i Copilot Chat, som visar Claude 3.5 Sonnet-modellen.

  6. Ange frågor om naturligt språk, till exempel:

    • "Jag vill konfigurera en utvecklingsruta med alla verktyg och paket som krävs för att arbeta med denna [lagringsplatsnamn] lagringsplats."

    • "Jag vill förinstallera Visual Studio 2022 Enterprise, Visual Studio Code, Git, .NET SDK 8, Node.js LTS och Docker Desktop på en utvecklingsruta och få teamets lagringsplats [URL] klonad på utvecklingsrutan."

    • "Jag vill konfigurera en utvecklingsruta med alla utvecklingsverktyg och paket installerade på min nuvarande dator."

    Tips/Råd

    Klona och öppna den specifika lagringsplatsen i Visual Studio Code om du vill generera definitionen i kontexten för en lagringsplats.

  7. Följ anvisningarna för att konfigurera paket.

    • När du uppmanas till det väljer du Fortsätt för att fortsätta med paketkonfigurationen.

    • Copilot genererar filen imagedefinition.yaml .

  8. Förfina med fler frågor.

    • Fortsätt att interagera med agenten tills de verktyg och paket som du vill använda visas i filen.

Ladda upp bilddefinitionsfilen till en lagringsplats

Du kan använda en GitHub- eller Azure Repos-lagringsplats som en katalog för att göra din bilddefinitionsfil tillgänglig från ett dev box-projekt. Varje projekt kan ha en katalog som lagrar flera bilddefinitionsfiler, som du kan konfigurera på pooler så att de överensstämmer med utvecklarteamens behov.

När du har en bilddefinitionsfil som du vill använda laddar du upp den till en katalog. I följande avsnitt visas hur du kopplar katalogen till ett projekt och gör avbildningsdefinitionen tillgänglig för val när du konfigurerar dina dev box-pooler.

Konfigurera bilddefinitioner på projektnivå

Projekt hjälper dig att hantera Dev Box-resurser effektivt. Du kan tilldela varje utvecklarteam ett eget projekt för att organisera resurser effektivt. Skapa flera avbildningsdefinitioner i kataloglagringsplatsen, var och en i sin egen mapp för att rikta in sig på olika utvecklarteam under projektet.

Aktivera kataloger på projektnivå

Aktivera kataloger på projektnivå på utvecklingscenternivå innan du lägger till en katalog i ett projekt. Så här aktiverar du kataloger på projektnivå på utvecklingscenternivå:

  1. I Azure Portal går du till utvecklingscentret.

  2. I den vänstra menyn går du till Inställningar och väljer Inställningar för Dev Center.

  3. Under Kataloger på projektnivå väljer du Aktivera kataloger per projekt och sedan Använd.

    Skärmbild av sidan Dev Center-inställningar med fönstret Kataloger på projektnivå öppet och alternativet Aktivera kataloger per projekt valt.

Mer information om hur du lägger till kataloger i projekt finns i Lägga till och konfigurera en katalog från GitHub eller Azure Repos.

Konfigurera inställningar för katalogsynkronisering för projektet

Konfigurera projektet för att synkronisera bilddefinitioner från katalogen. Med den här inställningen kan du använda avbildningsdefinitionerna i katalogen för att skapa dev box-pooler.

  1. Logga in på Azure-portalen.

  2. I sökrutan anger du projekt. Välj Projekt i listan med resultat.

  3. Öppna Dev Box-projektet där du vill konfigurera inställningar för katalogsynkronisering.

  4. Välj Kataloger.

  5. Välj Synkroniseringsinställningar.

    Skärmbild av fönstret Kataloger i Azure-portalen med knappen för synkroniseringsinställningar markerad.

  6. I fönstret Synkroniseringsinställningar väljer du Bilddefinitioner och sedan Spara.

    Skärmbild av fönstret synkroniseringsinställningar i Azure-portalen med kryssrutan för bilddefinitioner markerad.

Bifoga katalogen som innehåller bilddefinitionsfilen

Om du vill använda en bilddefinitionsfil bifogar du katalogen som innehåller filen till projektet. Detta gör avbildningsdefinitionen tillgänglig för val när du konfigurerar dina dev box-pooler.

Fönstret Bilddefinitioner visar de bilddefinitioner som projektet kan använda.

Skärmbild av fönstret i Azure-portalen som visar bilddefinitioner som är tillgängliga för ett projekt.

Information om hur du bifogar kataloger finns i Lägga till och konfigurera en katalog från GitHub eller Azure Repos.

Konfigurera en dev box-pool för att använda en bilddefinition

Låt utvecklingsteamet använda anpassningar genom att konfigurera en dev box-pool med en bilddefinitionsfil. Lagra bilddefinitionsfilen på en lagringsplats som är länkad till projektet som en katalog. Ange den här filen som bilddefinition för poolen och anpassningarna gäller för nya dev-rutor.

Följ de här stegen för att skapa en dev box-pool och ange en bilddefinition:

  1. Logga in på Azure-portalen.

  2. I sökrutan anger du projekt. I listan med resultat väljer du Projekt.

  3. Öppna Dev Box-projektet som du vill associera den nya dev box-poolen med.

  4. Välj Dev box-pooler och klicka sedan på Skapa.

  5. I fönstret Skapa en utvecklingspool anger du följande värden:

    Inställning Värde
    Namn Ange ett namn för poolen. Poolnamnet är synligt för utvecklare när de skapar utvecklingsrutor. Den måste vara unik i ett projekt.
    Definition Den här rutan visar bilddefinitioner från tillgängliga kataloger och dev box-definitioner. Välj en bilddefinitionsfil.
    Nätverksanslutning Välj Distribuera till ett Microsoft-värdbaserat nätverk eller använd en befintlig nätverksanslutning.
    Aktivera enkel inloggning Välj Ja om du vill tillåta enkel inloggning för utvecklingsrutorna i den här poolen. Enkel inloggning måste konfigureras för organisationen. Mer information finns i Aktivera enkel inloggning för dev-rutor.
    Skaparbehörigheter för Dev box Välj Lokal administratör eller Standardanvändare.
    Aktivera automatiskt stopp Ja är standardvärdet. Välj Nej om du vill inaktivera autostoppningsschemat. Du kan konfigurera ett autostoppschema när poolen har skapats.
    Stoppa tiden Välj en tid för att stoppa alla dev-rutor i poolen.
    Tidszon Välj tidszonen för stopptiden.
    Licensiering Markera den här kryssrutan för att bekräfta att din organisation har Azure Hybrid-förmånslicenser som ska tillämpas på utvecklingsrutorna i den här poolen.

    Skärmbild av fönstret för att skapa en dev box-pool.

  6. Välj Skapa.

  7. Kontrollera att den nya utvecklingsrutepoolen visas i listan. Du kan behöva uppdatera skärmen.

Skapa en utvecklingsruta med hjälp av utvecklarportalen

Om du vill kontrollera att anpassningar från bilddefinitionsfilen tillämpas skapar du en utvecklingsruta i Utvecklarportalen för Dev Box. Följ stegen i Snabbstart: Skapa och anslut till en utvecklingsruta med hjälp av Utvecklarportalen för Dev Box. Anslut sedan till den nya utvecklingsrutan och kontrollera att anpassningarna fungerar som förväntat.

Gör ändringar i bilddefinitionsfilen och skapa en ny utvecklingsruta för att testa dem. När du är säker på att anpassningarna är korrekta skapar du en återanvändbar avbildning.

Använda modulära skript och filer i Dev Box-anpassningar

Modulära skript och filer som PowerShell-skript, DSC-filer (Desired State Configuration), konfigurationsfiler, textfiler eller bilder kan lagras i en delad katalog så att du kan återanvända och standardisera Dev Box-anpassningar i flera bilder.

De är utformade för att:

  • Främja återanvändning i flera Dev Box-installationer
  • Minska kostnaderna för duplicering och underhåll
  • Aktivera konsekventa konfigurationsmetoder

Katalogstruktur

Filer i samma mapp som imagedefinition.yaml, eller i dess undermappar, kopieras till utvecklingsrutan när de skapas. Du kan använda dessa filer när du kör anpassningsuppgifter.

Följande diagram visar en katalogstruktur för modulära skript och filer i Dev Box-anpassningar.

Diagram som visar en katalogstruktur med en mapp för bilddefinitioner, undermapparna Frontend-imagedef och backend-imagedef och undermappar för skript och filer.

På den översta nivån finns det en mapp för bilddefinitioner . Inuti hittar du undermappar för bilddefinitioner som frontend-imagedef och backend-imagedef. Mappen frontend-imagedef har en PowerShell-skriptfil. Mappen backend-imagedef innehåller en undermapp som innehåller DSC-filer. Du kan använda antingen struktur för att lagra skript och andra filer.

Referera till modulära skript eller filer

Bilddefinitionsfilen anger en lista över uppgifter som körs i systemkontext och userTasks som körs efter den första inloggningen i den nya utvecklingsrutan, i användarkontext. Använd visningsnamn för aktiviteter för att klargöra syftet med varje uppgift. I bilddefinitionsfilen refererar du till de modulära skript som du vill köra eller filer som du vill inkludera.


$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

Dev Box verifierar att alla uppgifter refererar till antingen inbyggda uppgifter (som PowerShell eller WinGet) eller en som är tillgänglig på devcenter-nivån. Den laddar ned alla bilddefinitionsfiler till en uppsättning katalog i den nya utvecklingsrutan, tillsammans med relevanta aktivitetsfiler. Den kör sedan varje aktivitet i den nedladdade aktivitetskatalogen och laddar upp aktivitetsstatus när den är klar.

Nästa steg

Nu när du har en bilddefinitionsfil som konfigurerar och skapar dev-rutor för utvecklingsteamet får du lära dig hur du optimerar tiden för att skapa dev box med dev center imaging.