Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Começar os desenvolvedores em um novo projeto ou com uma nova equipe geralmente é complexo e demorado. O recurso de personalizações do Microsoft Dev Box ajuda você a simplificar a configuração do ambiente do desenvolvedor. Com personalizações, você pode configurar estações de trabalho prontas para código com os aplicativos, ferramentas, repositórios, bibliotecas de código, pacotes e scripts de build necessários.
As personalizações do Dev Box permitem:
- Instale as ferramentas e os aplicativos necessários.
- Impor políticas de segurança organizacional.
- Verifique a consistência entre os computadores de desenvolvimento.
O Dev Box oferece duas maneiras de usar personalizações:
- Personalizações de equipe: usadas para criar uma configuração compartilhada padrão para uma equipe de desenvolvedores em vez de criar várias imagens padrão ou douradas para suas equipes.
- Personalizações de usuário: usadas pelos desenvolvedores para criar configurações para suas preferências pessoais. Com as personalizações do usuário, os desenvolvedores podem armazenar suas configurações em arquivos e executá-las quando criam caixas de desenvolvimento. As personalizações fornecem consistência em todas as caixas de desenvolvimento.
| Característica | Personalizações de equipe | Personalizações de usuário |
|---|---|---|
| Configurar em | Pool de computadores de desenvolvimento | Computador de desenvolvimento |
| As personalizações se aplicam a | Todos os computadores de desenvolvimento no pool | Computador de desenvolvimento individual |
| Compartilhável facilmente | Sim | Não |
| Nome do arquivo de personalizações | imagedefinition.yaml |
myfilename.yaml |
| Originado de | Catálogo ou repositório pessoal | Carregado ou do repositório pessoal |
| Dá suporte a segredos do cofre de chaves | Sim | Sim |
O que é um arquivo de personalização?
As personalizações do Dev Box usam um arquivo formatado em YAML para especificar uma lista de tarefas a serem aplicadas no centro de desenvolvimento ou em um catálogo quando os desenvolvedores criam uma caixa de desenvolvimento. Essas tarefas identificam a tarefa de catálogo e fornecem parâmetros como o nome do software a ser instalado. Os desenvolvedores podem criar seus próprios arquivos de personalização ou usar um arquivo de personalização compartilhado.
Você pode usar segredos do cofre de chaves do Azure em seu arquivo de personalização para clonar repositórios privados. Você também pode usá-las com qualquer tarefa personalizada que você criar que exija um token de acesso.
O que são tarefas?
As tarefas de personalização do Computador de Desenvolvimento são wrappers para scripts do PowerShell. Você as usa para definir componentes reutilizáveis que podem ser usados pelas equipes nas personalizações. As tarefas do WinGet e do PowerShell estão disponíveis por meio da plataforma. Você pode adicionar novos por meio de um catálogo. As tarefas podem ser executadas em um contexto do sistema ou em um contexto de usuário após a entrada.
- Os administradores de projeto definem personalizações da equipe, que podem usar tarefas personalizadas e integradas.
- As personalizações de usuário só poderão usar tarefas do sistema se o usuário for um administrador ou se as tarefas forem tarefas personalizadas pré-aprovadas por meio de um catálogo. Os usuários de caixa de desenvolvimento padrão não podem executar tarefas internas do PowerShell e do WinGet em um contexto do sistema, o que impede o escalonamento de privilégios.
Ao criar tarefas, determine quais deles precisam ser executados em um contexto do sistema e quais podem ser executadas em um contexto de usuário após a entrada.
Você pode usar tarefas do sistema e do usuário no arquivo de definição de imagem. A seção tarefas do arquivo de definição de imagem é dividida em tarefas do sistema e seções de tarefas do usuário, que compartilham os mesmos parâmetros com base nas definições de tarefa em seu catálogo.
-
Tarefas do sistema: essas tarefas são executadas como
LocalSystemdurante o estágio de provisionamento da caixa de desenvolvimento. Normalmente, elas são usadas para configurações no nível do sistema, como instalar software ou definir configurações do sistema que exigem privilégios administrativos. -
Tarefas do usuário: essas tarefas são executadas como o usuário após a primeira entrada do usuário na caixa de desenvolvimento. Normalmente, eles são usados para configurações de nível de usuário, como instalar aplicativos específicos do usuário ou definir configurações de usuário no contexto do usuário. Por exemplo, os usuários geralmente preferem instalar o Python e o Visual Studio Code no contexto do usuário em vez de em todo o sistema. Coloque as tarefas do
userTasksWinGet na seção para obter melhores resultados quando elas não funcionarem em tarefas.
Os usuários padrão que configuram personalizações de usuário podem usar apenas tarefas do usuário. Eles não podem usar tarefas do sistema.
Diferenças entre personalizações de equipe e personalizações de usuário
As personalizações da equipe do Dev Box permitem que líderes de equipe de desenvolvedores e administradores de TI pré-configurem arquivos de personalização para pools de Dev Box. As personalizações eliminam a necessidade de os desenvolvedores passarem pela configuração manual.
Recomendamos que você use personalizações de equipe para proteger e padronizar implantações do Dev Box para uma equipe. O compartilhamento de arquivos YAML comuns entre as equipes de desenvolvedores pode ser ineficiente, gerar erros e violar políticas de conformidade.
Além das personalizações de equipe, os desenvolvedores individuais podem carregar um arquivo de personalização quando criam sua caixa de desenvolvimento para controlar o ambiente de desenvolvimento. Os desenvolvedores devem usar personalizações individuais somente para configurações pessoais e aplicativos.
Como funcionam as personalizações?
Personalizações de equipe e personalizações de usuário são arquivos baseados em YAML que especificam uma lista de tarefas a serem aplicadas ao criar uma caixa de desenvolvimento. Selecione a guia apropriada para saber mais sobre como cada tipo de personalização funciona.
Como funcionam as personalizações de equipe?
Você pode usar personalizações de equipe para definir uma configuração compartilhada de Computador de Desenvolvimento para cada uma das equipes de desenvolvimento, sem precisar investir na configuração de uma solução de geração de imagens, como o Packer ou modelos de imagem de VM (máquina virtual) do Azure. As personalizações de equipe fornecem uma alternativa leve que permite que as equipes de engenharia da plataforma central deleguem o gerenciamento de configuração do Computador de Desenvolvimento às equipes que o utilizam.
As personalizações de equipe também oferecem uma maneira integrada de otimizar as personalizações do Computador de Desenvolvimento da equipe, simplificando-as em uma imagem personalizada. Você usa o mesmo arquivo de personalização, sem a necessidade de gerenciar uma infraestrutura adicional ou manter modelos de imagem.
Configurar personalizações de equipe do Dev Box para sua organização requer um planejamento cuidadoso e uma tomada de decisão informada. O diagrama a seguir fornece uma visão geral do processo e realça os principais pontos de decisão.
Configurar o Dev Box para personalizações de equipe
Para configurar o Dev Box para dar suporte a personalizações de equipe, siga estas etapas:
- Configure o centro de desenvolvimento:
- Habilite catálogos no nível do projeto.
- Atribua permissões para administradores de projeto.
- Decida se deve usar um catálogo com componentes reutilizáveis personalizados:
- Integrado (fornecido pela plataforma):
- Use tarefas internas do PowerShell ou do WinGet (começa com ~/). Recomendamos que você comece com as tarefas incorporadas.
- Seu próprio catálogo:
- Hospede no Azure Repos ou GitHub.
- Adicionar tarefas.
- Anexar a um centro de desenvolvimento.
- Integrado (fornecido pela plataforma):
- Criar um arquivo de personalização YAML chamado
imagedefinition.yaml. - Especifique uma imagem em um pool de computadores de desenvolvimento:
- Crie ou modifique um pool de computadores de desenvolvimento.
- Especifique
imagedefinition.yamlcomo a definição de imagem.
- Escolha como usar a definição de imagem:
- Execute as tarefas na definição de imagem no momento da criação de cada computador de desenvolvimento.
- Otimize sua definição de imagem em uma imagem personalizada.
- Crie o computador de desenvolvimento com base no pool configurado usando o portal do desenvolvedor.
Para saber mais sobre a personalização da equipe e a gravação de definições de imagem, consulte Configurar personalizações de equipe. Em seguida, para saber como otimizar sua definição de imagem em uma imagem personalizada, consulte Configurar a imagem do centro de desenvolvimento.