Compartilhar via


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

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

As personalizações são úteis para as equipes de desenvolvimento. Os clientes potenciais da equipe de desenvolvedores podem usar personalizações para pré-configurar o software necessário para suas equipes de desenvolvimento específicas e criar arquivos de configuração que aplicam apenas as tarefas relevantes para suas equipes. Este método permite que os desenvolvedores criem computadores de desenvolvimento que melhor se ajustem ao seu trabalho, sem a necessidade de solicitar alterações à TI ou aguardar a equipe de engenharia criar uma imagem de VM 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 exemplo incluem:

  • Instalando software com o gerenciador de pacotes WinGet.
  • Definir configurações do sistema operacional, como habilitar Recursos do Windows.
  • Configurar aplicativos, como instalar extensões do Visual Studio.

Você pode adotar 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
  5. Usar segredos de um cofre de chaves do Azure

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.

Pré-requisitos

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.

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.

    Captura de tela do portal do Azure mostrando o painel Adicionar catálogo com o catálogo de início rápido da Microsoft e as tarefas de personalização do computador de desenvolvimento em destaque.

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

Criar seu computador de desenvolvimento personalizado

Agora você tem um catálogo que define as tarefas que os desenvolvedores podem usar. Você pode referenciar essas tarefas de 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 e selecione Continuar:

    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.
    Aplicar personalizações Selecione Aplicar personalizações.

    Captura de tela mostrando as opções de personalização do computador de desenvolvimento no portal do desenvolvedor com arquivos de personalização carregados realçados.

  5. Na página Personalizar seu computador de desenvolvimento, selecione Carregar um arquivode personalização e, em seguida, selecione Adicionar personalizações do arquivo.

    Captura de tela mostrando a página Personalizar seu computador de desenvolvimento com as opções Carregar um arquivo de personalização e Adicionar personalizações do arquivo realçadas.

  6. Navegue até o local do arquivo de configuração yaml de exemplo que você baixou e selecione Abrir.

  7. Verifique se o arquivo de configuração está listado em Carregar um arquivo de personalização e selecione Validar.

    Captura de tela mostrando a página Personalizar seu computador de desenvolvimento com o arquivo de personalização carregado listado e Validar realçado.

  8. Depois que o Computador de Desenvolvimento validar o arquivo de configuração, selecione Continuar.

    Captura de tela mostrando a mensagem de sucesso da validação da tarefa de personalização e Continuar realçado.

  9. Na página Resumo de criação do computador de desenvolvimento, o Computador de Desenvolvimento exibe as tarefas que ele aplicará. Selecione Criar.

    Captura de tela mostrando a página resumo da criação do computador de desenvolvimento com o botão Criar realçado.

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.

Dica

Como alternativa ao portal do desenvolvedor, você pode usar a Página Inicial de Desenvolvimento para criar, personalizar e conectar-se aos seus computadores de desenvolvimento. A Página Inicial de Desenvolvimento é um aplicativo nativo do Windows que fornece um único local para gerenciar seus computadores de desenvolvimento. Saiba mais sobre a Página inicial para desenvolvedores em Criar personalizações de computador de desenvolvimento reutilizáveis com a Página inicial para desenvolvedores.

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

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 selecionadas em um catálogo anexado ao 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 de tarefas que definem tarefas comuns:

  • Instalando software com o gerenciador de pacotes WinGet.
  • Implante a configuração de estado desejado (DSC) usando a Configuração do WinGet.
  • Clonar um repositório usando git-clone.
  • Configurar aplicativos, como instalar extensões do Visual Studio.
  • Executar scripts do PowerShell.

Personalizar seu computador de desenvolvimento usando arquivos de Configuração do WinGet existentes

A Configuração do WinGet usa uma abordagem de configuração como código para definir os conjuntos exclusivos de configurações e software necessários para obter seu ambiente do Windows em um estado pronto para código. Esses arquivos de configuração também podem ser usados para configurar um Computador de Desenvolvimento usando uma tarefa WinGet incluída no catálogo de início rápido fornecido pela Microsoft mencionado anteriormente.

O exemplo a seguir mostra um arquivo de personalização de computador de desenvolvimento que chama um arquivo DSC do WinGet existente.

tasks:
    - name: winget
      parameters:
          configure: "projectConfiguration.dsc.yaml"

Para saber mais sobre a configuração do WinGet, confira Configuração do WinGet.

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.

    Captura de tela do Visual Studio Code mostrando a paleta de comandos com a opção Computador de Desenvolvimento: Listar tarefas disponíveis para este computador de desenvolvimento em destaque.

  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.

    Captura de tela do Visual Studio Code mostrando a paleta de comandos com a opção Computador de Desenvolvimento: Aplicar tarefas de personalizações em destaque.

  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.

Dica

Como alternativa ao Visual Studio Code, você pode usar a Página Inicial de Desenvolvimento para criar e validar um arquivo de configuração em uma interface gráfica do usuário. Saiba mais sobre a Página inicial para desenvolvedores em Criar personalizações de computador de desenvolvimento reutilizáveis com a Página inicial para desenvolvedores.

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 Repos com seu código e faça commit dele.

  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 e selecione Continuar:

    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.
    Aplicar personalizações Selecione Aplicar personalizações.

    Captura de tela mostrando as opções de personalização do computador de desenvolvimento no portal do desenvolvedor com arquivos de personalização carregados realçados.

  6. Na página Personalizar seu computador de desenvolvimento, selecione Escolher um arquivo de personalização em um repositório e, em URL do repositório do Azure DevOps, insira a URL do repositório que hospeda o arquivo de configuração que você deseja aplicar e selecione Continuar.

    Captura de tela mostrando a página Personalizar seu computador de desenvolvimento com Escolher um arquivo de personalização de um repositório e a URL do repositório do Azure DevOps.

  7. Na página Resumo de criação do Computador de Desenvolvimento, o Computador de Desenvolvimento exibe as tarefas que ele aplicará. 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.

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.

Usar segredos de um cofre de chaves do Azure

Você pode usar os segredos do Azure Key Vault nas configurações do YAML para clonar repositórios privados ou com qualquer tarefa personalizada criada que exija um token de acesso.

Para configurar seus segredos do Key Vault para uso nas configurações do YAML:

  1. Verifique se a identidade gerenciada do projeto do centro de desenvolvimento tem as funções Leitor do Key Vault e Usuário de Segredos do Key Vault no cofre de chaves.

  2. Conceda a função Usuário de Segredos para o segredo do cofre de chaves a cada usuário ou grupo de usuários que terá a capacidade de consumir o segredo durante a personalização de um computador de desenvolvimento. O usuário ou grupo que concedeu a função precisa incluir a identidade gerenciada do centro de desenvolvimento, sua conta de usuário e qualquer usuário ou grupo que precise do segredo durante a personalização de um computador de desenvolvimento.

Para saber mais, veja:

Referencie o segredo na configuração do YAML no seguinte formato, usando a tarefa git-clone como exemplo:

$schema: "1.0"
tasks:
   name: git-clone
   description: Clone this repository into C:\Workspaces
      parameters:
         repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
         directory: C:\Workspaces
         pat: '{{KEY_VAULT_SECRET_URI}}'

Se você quiser clonar um repositório privado do Azure DevOps (Azure Repos), não será necessário configurar um segredo no Key Vault. Em vez disso, você pode usar {{ado}} ou {{ado://your-ado-organization-name}} como parâmetro. Isso buscará um token de acesso em seu nome ao criar um computador de desenvolvimento, que tem permissão somente leitura no seu repositório. A tarefa git-clone no catálogo de início rápido usa o token de acesso para clonar o repositório. Veja um exemplo:

tasks:
   name: git-clone
   description: Clone this repository into C:\Workspaces
      parameters:
         repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
         directory: C:\Workspaces
         pat: '{{ado://YOUR_ADO_ORG}}'

Se as políticas da sua organização exigirem que você mantenha seu cofre de chaves privado da Internet, você poderá definir o cofre de chaves para permitir que os serviços confiáveis da Microsoft ignorem sua regra de firewall.

Captura de tela mostrando a configuração de firewall do Azure com a opção Permitir que os serviços confiáveis da Microsoft ignorem este firewall selecionada.

Para saber como permitir que serviços confiáveis da Microsoft ignorem o firewall, consulte Definir configurações de rede do Azure Key Vault.