Partilhar via


Personalizações da equipe do Microsoft Dev Box

Fazer com que os desenvolvedores comecem em um novo projeto ou equipe pode ser complexo e demorado. O recurso de personalizações da equipe do Microsoft Dev Box ajuda a simplificar a configuração do ambiente do desenvolvedor. Com personalizações de equipe, você pode configurar estações de trabalho prontas para codificar com aplicativos, ferramentas, repositórios, bibliotecas de código, pacotes e scripts de construção necessários.

Você pode usar personalizações de equipe para definir uma configuração de Caixa de Desenvolvimento compartilhada para cada uma de suas equipes de desenvolvimento sem ter que investir na configuração de uma solução de geração de imagens como Packer ou modelos de imagem de máquina virtual (VM) do Azure. As personalizações de equipe fornecem uma alternativa leve que permite que as equipes centrais de engenharia de plataforma deleguem o gerenciamento de configuração da Caixa de Desenvolvimento às equipes que as utilizam.

As personalizações de equipe também oferecem uma maneira integrada de otimizar as personalizações da Caixa de Desenvolvimento da sua equipe, nivelando-as em uma imagem personalizada. Você usa o mesmo arquivo de personalização, sem a necessidade de gerenciar a infraestrutura adicionada ou manter modelos de imagem.

Importante

O recurso de personalizações da equipe da Caixa de Desenvolvimento está atualmente em visualização. Para obter mais informações sobre o status da visualização, consulte os Termos de Uso Suplementares para Visualizações do Microsoft Azure. O documento define termos legais que se aplicam a recursos do Azure que estão em versão beta, em visualização ou ainda não lançados em disponibilidade geral.

Como funcionam as personalizações da equipe do Dev Box?

Quando você configura as personalizações da equipe do Dev Box para sua organização, um planejamento cuidadoso e uma tomada de decisão informada são essenciais. O diagrama a seguir fornece uma visão geral do processo e destaca os principais pontos de decisão.

Diagrama que mostra o fluxo de trabalho para personalizações da equipe da Caixa de Desenvolvimento, incluindo etapas para planejamento, configuração e implantação de personalizações.

  • Configure seu centro de desenvolvimento:
    • Habilite catálogos no nível do projeto.
    • Atribua permissões para administradores de projeto.
  • Decida se deseja usar um catálogo com componentes reutilizáveis personalizados:
    • Centro de desenvolvimento:
      • Use instruções PowerShell ou WinGet.
    • O seu próprio catálogo:
      • Hospede no Azure Repos ou GitHub.
      • Adicione tarefas.
      • Anexe a um centro de desenvolvimento ou projeto.
  • Crie um arquivo de personalização:
    • Crie um arquivo de personalização chamado imagedefinition.yaml.
  • Especifique uma imagem em um pool de caixas de desenvolvimento:
    • Crie ou modifique um pool de caixas de desenvolvimento e especifique imagedefinition.yaml como a definição da imagem.
  • Escolha como você usará a definição da imagem:
    • Otimize para personalização da equipe.
    • Crie sempre que criar uma caixa de desenvolvimento.
  • Criar caixa de desenvolvimento:
    • Crie sua caixa de desenvolvimento a partir do pool configurado usando o portal do desenvolvedor.

O que é um arquivo de personalização?

As personalizações da Caixa de Desenvolvimento usam um arquivo formatado em YAML para especificar uma lista de tarefas a serem aplicadas a partir do catálogo quando os desenvolvedores estiverem criando uma caixa de desenvolvimento. Essas tarefas identificam a tarefa de catálogo e fornecem parâmetros como o nome do software a ser instalado. Em seguida, você disponibiliza o arquivo de personalização para os desenvolvedores.

Você pode usar segredos do seu cofre de chaves do Azure em seu arquivo de personalização para clonar repositórios privados ou com qualquer tarefa personalizada criada que exija um token de acesso.

O que são tarefas?

As tarefas de personalização da Caixa de Desenvolvimento são wrappers para scripts do PowerShell. Você os usa para definir componentes reutilizáveis que suas equipes podem usar em suas personalizações. WinGet e PowerShell estão disponíveis como tarefas primitivas.

Ao criar tarefas, determine quais delas precisam ser executadas em um contexto do sistema e quais delas podem ser executadas em um contexto de usuário (após o login). As personalizações de equipe podem ser executadas em ambos os contextos. As personalizações individuais só podem ser executadas em um contexto de usuário.

Diferenças entre personalizações de equipe e personalizações individuais

Os desenvolvedores individuais podem anexar um arquivo de personalização baseado em YAML ao criar sua caixa de desenvolvimento para controlar o ambiente de desenvolvimento. Os desenvolvedores devem usar personalizações individuais apenas para configurações pessoais e aplicativos. As tarefas especificadas no arquivo de personalização individual são executadas somente no contexto do usuário, após o login.

Embora as equipes de desenvolvedores possam compartilhar arquivos YAML comuns, essa abordagem pode ser ineficiente e propensa a erros. Também pode ser contra as políticas de conformidade. As personalizações da equipe da Caixa de Desenvolvimento fornecem um fluxo de trabalho para que os líderes de equipe de desenvolvedores, administradores de projeto e administradores de centros de desenvolvimento pré-configurem arquivos de personalização em pools de caixas de desenvolvimento. Dessa forma, um desenvolvedor que está criando uma caixa de desenvolvimento não precisa encontrar e carregar um arquivo de personalização.

Termos principais

Ao trabalhar com personalizações da equipe do Dev Box, você deve estar familiarizado com os seguintes termos-chave:

  • Catálogo:
    • Armazenado em seu repositório de código ou em um repositório separado de arquivos de personalização.
    • Hospedado no GitHub ou Azure Repos.
    • Anexado a um centro de desenvolvimento ou projeto para tornar as tarefas acessíveis à equipe de desenvolvedores.
  • Tarefa:
    • Executa ações específicas, como instalar software.
    • Consiste em um ou mais scripts do PowerShell e um arquivo task.yaml.
  • Arquivo de personalização:
    • Define tarefas para caixas de desenvolvimento e é baseado em YAML.
    • Fornece uma definição de imagem quando ela é compartilhada entre uma equipe, especificando a imagem base e as opções de personalização para uma caixa de desenvolvimento.