Partilhar via


Configurar personalizações de equipe

Use o recurso de personalizações do Microsoft Dev Box para simplificar a configuração de ambientes de desenvolvimento baseados em nuvem. Iniciar um novo projeto ou juntar-se a uma nova equipa pode ser complexo e demorado. As personalizações de equipe usam um arquivo de definição de imagem (imagedefinition.yaml) para pré-instalar ferramentas, clonar repositórios e definir configurações para cada caixa de desenvolvimento em um pool. Com as personalizações de equipe, os administradores podem fornecer estações de trabalho prontas para codificar com aplicativos, ferramentas, repositórios, bibliotecas de código, pacotes e scripts de compilação. Este artigo mostra como criar, testar e editar um arquivo de definição de imagem para sua caixa de desenvolvimento no Visual Studio Code.

Você pode usar personalizações no Dev Box de duas maneiras. As personalizações de equipe criam uma configuração compartilhada para uma equipe. As personalizações do usuário criam uma configuração pessoal para um desenvolvedor individual. A lista a seguir resume as diferenças entre esses tipos de personalização.

  • Personalizações de equipe: definidas uma vez, aplicadas a cada caixa de desenvolvimento em um pool via imagedefinition.yaml em um catálogo.
  • Personalizações do usuário: YAML pessoal carregado durante a criação da caixa; afeta apenas essa caixa.
  • Utilizar a equipa para consistência e conformidade; Use o usuário para preferências pessoais.

Para saber mais, consulte Personalizações do Microsoft Dev Box.

Configure as personalizações da equipe seguindo estas etapas:

Diagrama mostrando o fluxo de trabalho de cinco etapas para personalizações de equipe no Microsoft Dev Box.

Pré-requisitos

Produto Requerimentos
Microsoft Dev Box - Configure um centro de desenvolvimento com um pool de caixa de desenvolvimento e um projeto de caixa de desenvolvimento para que você possa criar uma caixa de desenvolvimento.
- Anexe um catálogo ao centro de desenvolvimento com tarefas que você pode usar em seu arquivo de definição de imagem. Se você não tiver um catálogo, consulte Adicionar e configurar um catálogo do GitHub ou Azure Repos.
- Permissões
- Para criar uma caixa de desenvolvimento: Junte-se ao grupo de segurança Usuários da Caixa de Desenvolvimento para pelo menos um projeto.
- Para habilitar catálogos no nível do projeto para um centro de desenvolvimento: Engenheiro de plataforma com acesso de gravação na assinatura.
- Para habilitar as configurações de sincronização de catálogo para um projeto: Engenheiro de plataforma com acesso de gravação na assinatura.
- Para anexar um catálogo a um projeto: Permissões de Administrador de Projeto ou Colaborador do Centro de Desenvolvimento no projeto.
Código do Visual Studio - Instale a versão mais recente

Criar um arquivo de definição de imagem

Para definir as ferramentas, pacotes e configurações de que sua equipe precisa, crie um arquivo de definição de imagem no formato YAML que liste as tarefas necessárias para seu ambiente de caixa de desenvolvimento.

Usar tarefas internas ou um catálogo para tarefas personalizadas

As tarefas são ações reutilizáveis que vêm de primitivas internas (WinGet, PowerShell e Git-Clone) ou de um catálogo anexado ao seu projeto do centro de desenvolvimento. Escolha a fonte que melhor se adapta às suas necessidades de personalização e requisitos do projeto.

  • Use WinGet, PowerShell e Git-Clone tarefas internas. Os centros de desenvolvimento do Dev Box suportam tarefas do PowerShell e do WinGet prontas para uso. Se suas personalizações exigirem apenas PowerShell, WinGet ou Git-Clone você poderá começar com essas tarefas internas e criar seu arquivo de definição de imagem. Para obter mais informações, consulte Criar um arquivo de definição de imagem.

    Importante

    A tarefa interna do WinGet não é a mesma que o executável do WinGet. A tarefa interna do WinGet é baseada no cmdlet WinGet do PowerShell.

  • Use um catálogo para definir tarefas personalizadas. Crie suas próprias tarefas personalizadas. Para disponibilizar tarefas personalizadas para toda a organização, anexe um catálogo com definições de tarefas personalizadas ao seu centro de desenvolvimento. O Dev Box dá suporte aos catálogos Azure Repos e GitHub. Como as tarefas são definidas apenas no centro de desenvolvimento, armazene tarefas e definições de imagem em repositórios separados.

    Para saber mais sobre como definir tarefas personalizadas, consulte Configurar tarefas para personalizações da Caixa de Desenvolvimento.

O Dev Box suporta um fluxo de trabalho agentico com o modo de agente GitHub Copilot. Use prompts de linguagem natural para gerar o arquivo de definição de imagem (imagedefinition.yaml). O GitHub Copilot facilita a configuração do seu ambiente Dev Box porque você descreve suas necessidades de forma conversacional em vez de criar manualmente arquivos YAML.

O fluxo de trabalho agentic da Caixa de Desenvolvimento permite:

  • Imitar seu ambiente de desenvolvimento atual - Gere ou altere uma definição que corresponda à configuração de sua máquina atual.
  • Usar contexto do repositório - Crie ou altere uma definição no contexto de um repositório GitHub específico.
  • Use instruções em linguagem natural - Gere um arquivo de definição de imagem descrevendo o ambiente de desenvolvimento desejado.

Observação

O fluxo de trabalho agentic suporta apenas tarefas primitivas da Caixa de Desenvolvimento, incluindo WinGet, PowerShell e Git-Clone.

Gerar o arquivo de definição de imagem

  1. Abra o Visual Studio Code.

  2. Instale a extensão Dev Box.

    Abra Extensões (Ctrl+Shift+X), procure por Dev Box e instale a extensão.

    Captura de tela do painel Extensões no Visual Studio Code, mostrando a extensão Caixa de Desenvolvimento.

  3. Instale a extensão GitHub Copilot configurada no VS Code.

  4. Verifique se o modo agente está ativado definindo chat.agent.enabled no editor de configurações. Essa configuração requer o Visual Studio Code 1.99 ou posterior.

  5. Abra o bate-papo do Copilot no VS Code.

    • Verifique se as ferramentas da Caixa de Desenvolvimento estão pré-selecionadas em Selecionar ferramentas.

      Captura de tela do painel Copilot Chat no Visual Studio Code, mostrando as ferramentas da Caixa de Desenvolvimento pré-selecionadas.

      Captura de tela da interface do Copilot Chat no Visual Studio Code.

    • Selecione Modo de agente e escolha o modelo: Claude 3.5 Sonnet.

      Captura de tela da seleção do Modo Agente no Copilot Chat, mostrando o modelo Claude 3.5 Sonnet.

  6. Forneça prompts de linguagem natural, como:

    • "Quero configurar uma caixa de desenvolvimento com todas as ferramentas e pacotes necessários para trabalhar neste repositório [nome do repositório]."

    • "Quero pré-instalar o Visual Studio 2022 Enterprise, o Visual Studio Code, o Git, o .NET SDK 8, o Node.js LTS e o Docker Desktop em uma caixa de desenvolvimento e ter o repositório [URL] da equipe clonado na caixa de desenvolvimento."

    • "Quero configurar uma caixa de desenvolvimento com todas as ferramentas e pacotes de desenvolvimento instalados na minha máquina atual."

    Sugestão

    Clone e abra o repositório específico no Visual Studio Code se quiser gerar a definição no contexto de um repositório.

  7. Siga as instruções para configurar pacotes.

    • Quando solicitado, selecione Continuar para continuar com a configuração do pacote.

    • O Copilot gera o arquivo imagedefinition.yaml .

  8. Refine com mais prompts.

    • Continue interagindo com o agente até que as ferramentas e pacotes desejados apareçam no arquivo.

Carregar o arquivo de definição de imagem para um repositório

Você pode usar um repositório GitHub ou Azure Repos como um catálogo para tornar seu arquivo de definição de imagem acessível a partir de um projeto de caixa de desenvolvimento. Cada projeto pode ter um catálogo que armazena vários arquivos de definição de imagem, que você pode configurar em pools para alinhar às necessidades de suas equipes de desenvolvedores.

Depois de ter um arquivo de definição de imagem que deseja usar, carregue-o para um catálogo. As seções a seguir mostram como anexar seu catálogo a um projeto e disponibilizar sua definição de imagem para seleção ao configurar seus pools de caixas de desenvolvimento.

Configurar definições de imagem no nível do projeto

Os projetos ajudam você a gerenciar os recursos da Caixa de Desenvolvimento de forma eficiente. Você pode atribuir a cada equipe de desenvolvedores seu próprio projeto para organizar os recursos de forma eficaz. Crie várias definições de imagem em seu repositório de catálogo, cada uma em sua própria pasta para direcionar diferentes equipes de desenvolvedores em seu projeto.

Habilitar catálogos no nível do projeto

Habilite catálogos no nível do projeto no nível do centro de desenvolvimento antes de adicionar um catálogo a um projeto. Para habilitar catálogos no nível do projeto no nível do centro de desenvolvimento:

  1. No portal do Azure, vá para o seu centro de desenvolvimento.

  2. No menu à esquerda, em Configurações, selecione Configurações do Centro de desenvolvimento.

  3. Em Catálogos de nível de projeto, selecione Habilitar catálogos por projeto e, em seguida, selecione Aplicar.

    Captura de tela da página Configurações do Centro de desenvolvimento com o painel Catálogos no nível do projeto aberto e a opção Habilitar catálogos por projeto selecionada.

Para obter mais informações sobre como adicionar catálogos a projetos, consulte Adicionar e configurar um catálogo do GitHub ou Azure Repos.

Definir configurações de sincronização de catálogo para o projeto

Configure seu projeto para sincronizar definições de imagem do catálogo. Essa configuração permite que você use as definições de imagem no catálogo para criar pools de caixas de desenvolvimento.

  1. Inicie sessão no portal Azure.

  2. Na caixa de pesquisa, insira projetos. Na lista de resultados, selecione Projetos.

  3. Abra o projeto Dev Box onde você deseja configurar as configurações de sincronização do catálogo.

  4. Selecione Catálogos.

  5. Selecione Configurações de sincronização.

    Captura de ecrã do painel Catálogos no portal do Azure, com o botão para definições de sincronização realçado.

  6. No painel Definições de sincronização , selecione Definições de imagem e, em seguida, selecione Guardar.

    Captura de ecrã do painel de definições de sincronização no portal do Azure, com a caixa de verificação para definições de imagem realçada.

Anexar o catálogo que contém o arquivo de definição de imagem

Para usar um arquivo de definição de imagem, anexe o catálogo que contém o arquivo ao seu projeto. Isso torna a definição de imagem disponível para seleção ao configurar seus pools de caixas de desenvolvimento.

O painel Definições de imagem mostra as definições de imagem que seu projeto pode usar.

Captura de ecrã do painel do portal do Azure a mostrar definições de imagem disponíveis para um projeto.

Para saber como anexar catálogos, consulte Adicionar e configurar um catálogo do GitHub ou Azure Repos.

Configurar um pool de caixas de desenvolvimento para usar uma definição de imagem

Permita que sua equipe de desenvolvimento use personalizações configurando um pool de caixas de desenvolvimento com um arquivo de definição de imagem. Armazene o arquivo de definição de imagem em um repositório vinculado ao seu projeto como um catálogo. Especifique esse arquivo como a definição de imagem para o pool e as personalizações se aplicam a novas caixas de desenvolvimento.

Siga estas etapas para criar um pool de caixas de desenvolvimento e especificar uma definição de imagem:

  1. Inicie sessão no portal Azure.

  2. Na caixa de pesquisa, insira projetos. Na lista de resultados, selecione Projetos.

  3. Abra o projeto Dev Box ao qual você deseja associar o novo pool de caixas de desenvolvimento.

  4. Selecione Pools de caixas de desenvolvimento e, em seguida, selecione Criar.

  5. No painel Criar um pool de caixas de desenvolvimento, insira os seguintes valores:

    Configurações Valor
    Nome Insira um nome para o pool. O nome do pool é visível para os desenvolvedores quando eles criam caixas de desenvolvimento. Deve ser único dentro de um projeto.
    Definição Esta caixa lista definições de imagem de catálogos acessíveis e definições de caixa de desenvolvimento. Selecione um arquivo de definição de imagem.
    Ligação de rede Selecione Implantar em uma rede hospedada pela Microsoft ou usar uma conexão de rede existente.
    Habilitar logon único Selecione Sim para permitir o logon único para as caixas de desenvolvimento neste pool. O logon único precisa ser configurado para a organização. Para obter mais informações, consulte Habilitar logon único para caixas de desenvolvimento.
    Privilégios de Criador da Box de Desenvolvimento Selecione Administrador Local ou Usuário Padrão.
    Ativar Auto-stop Sim é o padrão. Selecione Não para desativar a agenda de parada automática. Você pode configurar uma agenda de parada automática após a criação do pool.
    Tempo de paragem Selecione um horário para parar todas as caixas de desenvolvimento no pool.
    Fuso horário Selecione o fuso horário para a hora de parada.
    Licenciamento Marque essa caixa de seleção para confirmar se sua organização tem licenças do Benefício Híbrido do Azure para aplicar às caixas de desenvolvimento neste pool.

    Captura de tela do painel para criar um pool de caixas de desenvolvimento.

  6. Selecione Criar.

  7. Verifique se o novo pool de caixas de desenvolvimento aparece na lista. Talvez seja necessário atualizar a tela.

Criar uma caixa de desenvolvimento usando o portal do desenvolvedor

Para verificar se as personalizações do arquivo de definição de imagem são aplicadas, crie uma caixa de desenvolvimento no portal do desenvolvedor da Caixa de Desenvolvimento. Siga as etapas em Início rápido: criar e conectar-se a uma Dev Box usando o portal do desenvolvedor da Dev Box. Em seguida, conecte-se à nova caixa de desenvolvimento e verifique se as personalizações funcionam como você espera.

Faça alterações no arquivo de definição de imagem e crie uma nova caixa de desenvolvimento para testá-las. Quando tiver certeza de que as personalizações estão corretas, crie uma imagem reutilizável.

Usar scripts e arquivos modulares em personalizações do Dev Box

Scripts modulares e arquivos como scripts do PowerShell, arquivos de Configuração de Estado Desejado (DSC), arquivos de configuração, arquivos de texto ou imagens podem ser armazenados em um catálogo compartilhado para que você possa reutilizar e padronizar as personalizações da Caixa de Desenvolvimento em várias imagens.

Eles são projetados para:

  • Promova a reutilização em múltiplas configurações de Dev Box
  • Reduza a duplicação e as despesas gerais de manutenção
  • Habilite práticas de configuração consistentes

Estrutura do catálogo

Os ficheiros na mesma pasta que o imagedefinition.yaml, ou nas suas subpastas, são copiados para a dev box na criação. Você pode usar esses arquivos ao executar tarefas de personalização.

O diagrama a seguir mostra uma estrutura de catálogo para scripts modulares e arquivos nas personalizações do Dev Box.

Diagrama que mostra uma estrutura de catálogo com uma pasta de definições de imagem, subpastas Frontend-imagedef e backend-imagedef e subpastas para scripts e arquivos.

No nível superior, há uma pasta de definições de imagem . Dentro, você encontra subpastas de definição de imagem como frontend-imagedef e backend-imagedef. A pasta frontend-imagedef tem um arquivo de script do PowerShell. A pasta backend-imagedef inclui uma subpasta que contém arquivos DSC. Você pode usar qualquer estrutura para armazenar scripts e outros arquivos.

Referenciar scripts ou arquivos modulares

O arquivo de definição de imagem define uma lista de tarefas que são executadas no contexto do sistema e userTasks que são executadas após o primeiro login na nova caixa de desenvolvimento, no contexto do usuário. Use nomes de exibição para tarefas para esclarecer a finalidade de cada tarefa. No arquivo de definição de imagem, faça referência aos scripts modulares que deseja executar ou aos arquivos que deseja incluir.


$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 valida que todas as tarefas referenciam componentes intrínsecos (como o PowerShell ou WinGet) ou qualquer um disponível a nível do DevCenter. Ele baixa todos os arquivos de Definição de Imagem para um diretório definido na nova caixa de desenvolvimento, juntamente com os arquivos de tarefas relevantes. Em seguida, ele executa cada tarefa em seu diretório de tarefas baixado e carrega o status da tarefa após a conclusão.

Próximo passo

Agora que você tem um arquivo de definição de imagem que configura e cria caixas de desenvolvimento para sua equipe de desenvolvimento, saiba como otimizar o tempo de criação da caixa de desenvolvimento com a criação de imagens do centro de desenvolvimento.