Criar personalização de computador de desenvolvimento reutilizáveis

Neste artigo, você aprenderá a personalizar computadores de desenvolvimento usando um catálogo de tarefas de instalação e um arquivo de configuração para instalar software, definir configurações e muito mais. Essas tarefas são aplicadas ao novo computador de desenvolvimento no estágio final do processo de criação. A personalização do Computador de Desenvolvimento da Microsoft é uma abordagem de configuração como código para personalizar computadores de desenvolvimento. Você pode adicionar outras configurações e outros softwares sem precisar criar uma imagem de VM (máquina virtual) personalizada.

Usando personalizações, você pode automatizar etapas comuns de instalação, economizar tempo e reduzir a chance de erros de configuração. Algumas tarefas de configuração de exemplo incluem:

  • Instalação de software com os gerenciadores de pacotes WinGet ou Chocolatey.
  • Definir configurações do sistema operacional, como habilitar Recursos do Windows.
  • Configurar aplicativos, como instalar extensões do Visual Studio.

Você pode implementar personalizações em estágios, criando de uma configuração simples, mas funcional, para um processo automatizado. Os estágios são os seguintes:

  1. Criar um computador de desenvolvimento personalizado usando um arquivo de configuração de exemplo
  2. Escrever um arquivo de configuração
  3. Compartilhar um arquivo de configuração de um repositório de código
  4. Definir novas tarefas em um catálogo

Importante

As personalizações no Computador de Desenvolvimento da Microsoft estão atualmente em VERSÃO PRÉVIA. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Cenários de personalização específicos da equipe

As personalizações são úteis sempre que você precisa definir configurações, instalar software, adicionar extensões ou definir configurações comuns do sistema operacional, como habilitar Recursos do Windows em seus computadores de desenvolvimento durante o estágio final da criação. Os líderes de equipes de desenvolvimento podem usar personalizações para pré-configurar o software necessário para cada uma de suas equipes. Os líderes de equipes de desenvolvedores podem criar arquivos de configuração que aplicam apenas as tarefas de instalação relevantes para suas equipes. Esse método permite que os desenvolvedores criem computadores de desenvolvimento que melhor se ajustem ao trabalho, sem a necessidade de solicitar alterações de TI ou aguardar a equipe de engenharia criar uma imagem de VM personalizada.

O que são tarefas?

Uma tarefa executa uma ação específica, como instalar software. Cada tarefa consiste em um ou mais scripts do PowerShell, juntamente com um arquivo task.yaml que fornece parâmetros e define como os scripts são executados. Você também pode incluir um comando do PowerShell no arquivo task.yaml. Você pode armazenar uma coleção de tarefas de instalação selecionadas em um catálogo anexado ao seu centro de desenvolvimento, com cada tarefa em uma pasta separada. O Computador de Desenvolvimento dá suporte ao uso de um repositório GitHub ou um repositório do Azure DevOps como um catálogo e examina recursivamente uma pasta especificada do catálogo para localizar definições de tarefa.

A Microsoft fornece um catálogo de início rápido para ajudar você a começar a usar personalizações. Ele inclui um conjunto padrão que define tarefas comuns de instalação:

  • Instalar software com os gerenciadores de pacotes WinGet ou Chocolatey
  • Clonar um repositório usando o git-clone
  • Configurar aplicativos, como instalar extensões do Visual Studio
  • Executar scripts do PowerShell

O exemplo a seguir mostra um catálogo com choco, git-clone, install-vs-extension e tarefas do PowerShell definidas. Observe que cada pasta contém um arquivo task.yaml e pelo menos um script do PowerShell. Os arquivos task.yaml armazenam em cache os scripts e os parâmetros de entrada necessários para referenciá-los nos arquivos de configuração.

Screenshot showing a catalog with choco, git-clone, install-vs-extension, and PowerShell tasks defined, with a tasks.yaml for each task.

O que é um arquivo de configuração?

As personalizações do Computador de Desenvolvimento usam um arquivo formatado em yaml para especificar uma lista de tarefas do catálogo a serem aplicadas ao criar um novo computador de desenvolvimento. Esses arquivos de configuração incluem uma ou mais "tarefas", que identificam a tarefa de catálogo e fornecem parâmetros como o nome do software a ser instalado. Em seguida, o arquivo de configuração é disponibilizado para os desenvolvedores que criam novos computadores de desenvolvimento. O exemplo a seguir usa uma tarefa winget para instalar o Visual Studio Code e uma tarefa git clone para clonar um repositório.

# From https://github.com/microsoft/devcenter-examples
$schema: 1.0
tasks:
  - name: winget
    parameters:
      package: Microsoft.VisualStudioCode
      runAsUser: true
  - name: git-clone
    description: Clone this repository into C:\Workspaces
    parameters:
      repositoryUrl: https://github.com/OrchardCMS/OrchardCore.git
      directory: C:\Workspaces

Permissões necessárias para configurar o Computador de Desenvolvimento da Microsoft para personalizações

Para executar as ações necessárias para criar e aplicar personalizações a um computador de desenvolvimento, você precisa de determinadas permissões. A tabela a seguir descreve as ações e permissões ou funções necessárias para configurar personalizações.

Ação Permissão/função
Anexar um catálogo a um centro de desenvolvimento Engenheiro de plataforma com permissão Colaborador no centro de desenvolvimento.
Usar o portal do desenvolvedor para carregar e aplicar um arquivo yaml durante a criação do computador de desenvolvimento Usuário do Computador de Desenvolvimento
Criar um arquivo de configuração Qualquer pessoa pode criar um arquivo de configuração.
Adicionar tarefas a um catálogo Permissão para adicionar ao repositório que hospeda o catálogo.

Pré-requisitos

Para realizar as etapas neste artigo, você deve ter um centro de desenvolvimento configurado com uma definição de computador de desenvolvimento, um pool de computadores de desenvolvimento e um projeto de computador de desenvolvimento.

Criar um computador de desenvolvimento personalizado usando um arquivo de configuração de exemplo

Use o catálogo de início rápido padrão e um arquivo de configuração de exemplo para começar com as personalizações.

Anexar o catálogo de início rápido

Anexar um catálogo com tarefas de personalização a um centro de desenvolvimento significa que você pode criar um computador de desenvolvimento nesse centro de desenvolvimento e fazer referência às tarefas de personalização com esse catálogo. A Microsoft fornece um repositório de exemplo no GitHub com um conjunto de tarefas padrão para ajudar você a começar, conhecido como o catálogo de início rápido.

Para anexar o catálogo de início rápido ao centro de desenvolvimento:

  1. Entre no portal do desenvolvedor do Computador de Desenvolvimento da Microsoft.

  2. No menu esquerdo, em Configuração do ambiente, selecione Catálogos e, em seguida, selecione Adicionar.

  3. Em Adicionar catálogo, selecione Tarefas de personalização de computador de desenvolvimento como o catálogo de início rápido. Depois, selecione Adicionar.

  4. No centro de desenvolvimento, selecione Catálogose verifique se o catálogo é exibido.

    Screenshot of the Azure portal showing the Add catalog pane with Microsoft's quick start catalog and Dev box customization tasks highlighted.

    Se a conexão for bem-sucedida, o Status será exibido como Sincronização bem-sucedida.

Criar seu computador de desenvolvimento personalizado

Agora que você tem um catálogo que define as tarefas que seus desenvolvedores podem usar, é possível referenciar essas tarefas com um arquivo de configuração e criar um computador de desenvolvimento personalizado.

  1. Baixe um yaml de configuração de exemplo do repositório de modelos. Esta configuração de exemplo instala o Visual Studio Code e clona o repositório de aplicativos Web .NET do OrchardCore em seu computador de desenvolvimento.

  2. Entre no portal do desenvolvedor do Computador de Desenvolvimento da Microsoft.

  3. Selecione Novo>Computador de Desenvolvimento.

  4. Em Adicionar um computador de desenvolvimento, insira os seguintes valores:

    Configuração Valor
    Nome Insira um nome para o computador de desenvolvimento. Os nomes de computadores de desenvolvimento devem ser exclusivos em um projeto.
    Project Selecione um projeto na lista suspensa.
    Pool de computadores de desenvolvimento Selecione um pool na lista suspensa, que inclui todos os pools de computadores de desenvolvimento desse projeto. Escolha um pool de computadores de desenvolvimento próximo a você para ter menor latência.
    Arquivos de personalização carregados Selecione Carregar um arquivo de personalização e carregue o arquivo de configuração baixado na etapa 1.

    Screenshot showing the dev box customization options in the developer portal with Uploaded customization files highlighted.

  5. Selecione Criar.

Quando o processo de criação for concluído, o nova computador de desenvolvimento terá o Node.js e o Visual Studio Code instalados.

Para obter mais exemplos, consulte o repositório de exemplos do centro de desenvolvimento no GitHub.

Escrever um arquivo de configuração

Você pode definir novas tarefas a serem aplicadas aos computadores de desenvolvimento criando seu próprio arquivo de configuração. Você pode testar o arquivo de configuração no Visual Studio Code e fazer as alterações necessárias sem a necessidade de criar um computador de desenvolvimento separado para cada teste.

Para criar e testar seu arquivo de configuração, deve haver um catálogo que contenha tarefas anexadas ao centro de desenvolvimento. Você pode usar uma extensão do Visual Studio Code para descobrir as tarefas no catálogo anexado.

  1. Crie um Computador de Desenvolvimento (ou use um Computador de Desenvolvimento existente) para teste.

  2. No computador de desenvolvimento de teste, instale o Visual Studio Code e instale a extensão VS Code do Computador de Desenvolvimento v1.2.2.

  3. Baixe um arquivo de configuração yaml de exemplo do repositório de exemplos e abra-o no Visual Studio Code.

  4. Descubra as tarefas disponíveis no catálogo usando a paleta de comandos. Em Exibir>Paleta de Comandos, selecione Computador de Desenvolvimento: Listar tarefas disponíveis para este computador de desenvolvimento.

    Screenshot of Visual Studio Code showing the command palette with Dev Box List available tasks for this dev box highlighted.

  5. Testar a configuração no Visual Studio Code usando F5/paleta de comandos. Em Exibir>Paleta de Comandos, selecione Computador de Desenvolvimento: Aplicar tarefas de personalizações.

    Screenshot of Visual Studio Code showing the command palette with Dev Box Apply customizations tasks highlighted.

  6. O arquivo de configuração é executado imediatamente, aplicando as tarefas especificadas ao computador de desenvolvimento de teste. Inspecione as alterações e verifique se há erros ou avisos gerados no terminal do Visual Studio Code durante a execução da tarefa.

  7. Quando o arquivo de configuração for executado com êxito, compartilhe-o com os desenvolvedores para eles carregarem ao criar um computador de desenvolvimento.

Observação

A capacidade de criar e carregar um arquivo não é um risco de segurança; o arquivo carregado só pode aplicar as configurações definidas no catálogo anexado ao centro de desenvolvimento. Se a tarefa não estiver definida lá, o desenvolvedor receberá um erro informando que a tarefa não está definida.

Compartilhar um arquivo de configuração por meio de um repositório de código

Para disponibilizar seu arquivo de configuração de forma simples para os desenvolvedores, nomeie-o como workload.yaml e carregue-o em um repositório acessível aos desenvolvedores, geralmente o repositório de código deles. Ao criar um computador de desenvolvimento, você especifica a URL do repositório e o arquivo de configuração é clonado junto com o restante do repositório. O computador de desenvolvimento pesquisa o repositório em busca de um arquivo chamado workload.yaml e, se estiver localizado, executa as tarefas listadas. Essa configuração fornece uma maneira simples de executar personalizações em um computador de desenvolvimento.

  1. Crie um arquivo de configuração chamado workload.yaml.

  2. Adicione o arquivo de configuração à raiz de um repositório privado do Azure DevOps com seu código e faça commit.

  3. Entre no portal do desenvolvedor do Computador de Desenvolvimento da Microsoft.

  4. Selecione Novo>Computador de Desenvolvimento.

  5. Em Adicionar um computador de desenvolvimento, insira os seguintes valores:

    Configuração Valor
    Nome Insira um nome para o computador de desenvolvimento. Os nomes de computadores de desenvolvimento devem ser exclusivos em um projeto.
    Project Selecione um projeto na lista suspensa.
    Pool de computadores de desenvolvimento Selecione um pool na lista suspensa, que inclui todos os pools de computadores de desenvolvimento desse projeto. Escolha um pool de computadores de desenvolvimento próximo a você para ter menor latência.
    URL do clone do repositório Insira a URL do repositório que contém o arquivo de configuração e seu código.

    Screenshot showing the dev box customization options in the developer portal with Repository clone URL highlighted.

  6. Selecione Criar.

O nova computador de desenvolvimento tem o repositório clonado e todas as instruções do arquivo de configuração são aplicadas.

Definir novas tarefas em um catálogo

A criação de novas tarefas em um catálogo permite que você crie personalizações adaptadas às suas equipes de desenvolvimento e adicione proteções em torno das configurações possíveis.

  1. Crie um repositório para armazenar suas tarefas.

    Você pode fazer uma cópia do catálogo de início rápido em seu próprio repositório para usar como ponto de partida.

  2. Crie tarefas em seu repositório modificando os scripts existentes do PowerShell ou criando novos scripts.

    Para começar a criar tarefas, use os modelos fornecidos no repositório de exemplos do centro de desenvolvimento do GitHub e na documentação do PowerShell.

  3. Anexe seu repositório ao centro de desenvolvimento como um catálogo.

  4. Crie um arquivo de configuração para essas tarefas seguindo as etapas em Escrever um arquivo de configuração.