CloudDomíniosHospedagem

Customização dos contêineres da Microsoft com programação.

A possibilidade de usar arquivos WinGet, YAML e PowerShell DSC para disponibilizar ferramentas prontas para uso aos desenvolvedores está sendo implementada nas estações de trabalho hospedadas no Azure da Microsoft.

man holding code sign programmer developer devops data scientist tech roles hitesh choudhary via un
Imagem: stephmcblack/StockVault

O Microsoft Dev Box, um ambiente de desenvolvimento hospedado na nuvem da Microsoft, está agora disponível para uso geral. Ele oferece uma combinação de imagens do Windows e várias máquinas virtuais com diferentes capacidades, sendo totalmente personalizável e gerenciável centralmente. Com o Dev Drive e Dev Home sendo lançados no Windows, é possível configurar rapidamente novos sistemas de desenvolvimento isolados que utilizam drives virtuais resilientes e estão integrados diretamente aos fluxos de trabalho baseados em Git.

Ferramentas como o Dev Box são ideais para empresas que necessitam integrar rapidamente novos desenvolvedores ou que lidam com empreiteiros e funcionários temporários e precisam gerenciar seus ambientes. Essa mesma estratégia é eficaz para equipes remotas, onde fornecer Dev Boxes garante que o código e os projetos individuais não se misturem, permitindo que cada membro utilize seu próprio hardware sem abrir mão do controle total. A única exigência é possuir uma máquina capaz de executar uma sessão de desktop remoto.

Também no InfoWorld, há 7 armadilhas de YAML para evitar e maneiras de evitá-las.

Durante o Build 2023 em maio, a Microsoft notou que aproximadamente 10.000 de seus engenheiros já estavam utilizando as Dev Boxes como parte de suas ferramentas, o que acelerou o início de novos projetos. A empresa emprega uma combinação de imagens pré-configuradas e de autoatendimento, com instâncias personalizadas para projetos específicos, além de redes virtuais baseadas no Azure para conectar com segurança os engenheiros aos recursos necessários. Iniciar com uma Dev Box pré-configurada permite que os engenheiros sejam produtivos mais rapidamente, mesmo ao adicionar suas próprias configurações favoritas e complementos aos ambientes virtuais disponibilizados.

Ainda há mais tarefas a serem realizadas para automatizar a disponibilização de ambientes de desenvolvimento. É preciso ir além do Office e Visual Studio. É fundamental encontrar uma forma de disponibilizar todos os componentes necessários para uma ferramenta de desenvolvimento, desde editores e ferramentas de design até plataformas e frameworks de teste, juntamente com as bibliotecas e SDKs essenciais para desenvolver código.

RELACIONADO:  Iniciar usando Azure OpenAI

Customizando caixas de desenvolvimento com código.

A Microsoft está lançando um novo conjunto de ferramentas “configurar como código”, atualmente em visualização privada, para facilitar a personalização das Caixas Dev. As novas ferramentas usam YAML para definir imagens Dev Box e executar tarefas de configuração, que instalar as ferramentas que você precisa através de gerentes de pacotes familiares como Chocolatey e Winget. Estas tarefas também podem trabalhar com o instalador do Visual Studio para adicionar extensões. Você também pode ativar recursos do Windows como o Windows Subsystem para Linux e Windows Subsystem para Android, estendendo sua ferramenta para além do Windows.

Uma nova ferramenta prática para configurar um ambiente de desenvolvimento, o Windows Package Manager, WinGet, introduziu uma nova ferramenta de configuração que possibilita definir o status da instalação de software por meio de um arquivo de configuração YAML e da ferramenta de configuração de estado Desired (DSC) do PowerShell. Com essa abordagem, as configurações do WinGet se tornam declarativas, descrevendo o resultado final do processo de instalação, em vez das etapas necessárias para alcançá-lo.

Para usar arquivos de configuração WinGet, você precisará ativar os recursos experimentais do WinGet, pois esse recurso está atualmente em visualização. O primeiro passo é baixar e instalar a visualização atual do WinGet (o instalador MSI necessário está ligado a partir desta página do Microsoft Learn). Você também deve se familiarizar com o esquema de configuração WinGet, atualmente na versão 0.2.

Uma vez pronto para usar, o WinGet irá primeiro verificar se há um arquivo de configuração válido, antes de usar o PowerShell DSC para gerenciar o processo de instalação. As instalações podem acontecer em qualquer ordem, e mesmo em paralelo. O único sequenciamento vem onde há dependências definidas. Por exemplo, se uma afirmação em uma versão de aplicativo falhar, as etapas resultantes não serão executadas. No entanto, isso não vai parar o resto de uma configuração de completar, então você precisará testar uma instalação antes de implementá-la para sua frota Dev Box. Qualquer erro será exibido em seu console ou escrito para registrar arquivos.

RELACIONADO:  A inteligência artificial está comprometendo a viabilidade ambiental da computação em nuvem.

Há uma certa lógica para executar configurações não sequencialmente. Por uma coisa, ele permite agrupar elementos da maneira que você quer para tornar o YAML mais legível. Por exemplo, você pode ter uma seção para SDKs, outra para ferramentas de desenvolvedor e idiomas, e outra para serviços e aplicativos necessários. Em seguida, as atualizações podem ser adicionadas rapidamente no lugar certo, ajudando você a acompanhar as mudanças e permitindo que você compare rapidamente diferentes versões de suas configurações, bem como tornando possível personalizar instalações para diferentes papéis em uma equipe.

Elaboração de arquivos de configuração para o WinGet.

Então, como você cria um arquivo de configuração WinGet? Muito disso é baseado no modelo de gerenciamento DSC do PowerShell, então há um link definido entre como o DSC funciona e a estrutura de uma configuração WinGet. Há duas partes em um arquivo de configuração. As primeiras afirmações de detalhes, que são o estado de base necessário para um conjunto de instalações de software para completar. O segundo descreve recursos, o software a ser instalado e quaisquer configurações.

Asserções usam módulos DSC para trabalhar com o sistema operacional subjacente, e você pode especificar versões específicas, ou versões mínimas ou até mesmo máximas. Você deve começar usando estes para garantir que suas caixas dev têm a configuração base certa antes de instalar recursos e aplicativos adicionais. Da mesma forma, o seu YAML irá definir os recursos necessários, que podem incluir garantir que determinados switches de modo OS estejam habilitados, bem como adicionar cargas de trabalho para aplicativos instalados, o que pode implicar carregar arquivos de configuração adicionais para ferramentas como Visual Studio. Novamente, você está usando o arquivo de configuração para automatizar módulos DSC, com o gerenciamento de módulos WinGet instala e módulos próprios de aplicativos gerenciando configurações.

RELACIONADO:  A segurança é reforçada com a atualização do GitHub Actions.

Pense em uma configuração WinGet como uma lista de nós de recursos. Estes são os principais elementos YAML em cada seção do arquivo, contendo as instruções necessárias para instalar ou configurar uma parte da sua ferramenta. Cada recurso contém uma diretiva, na forma de um módulo DSC, e as configurações necessárias como pares chave/valor. Cada recurso pode exigir que outro seja concluído antes de ser executado (segundo que o Visual Studio foi instalado antes de configurá-lo, por exemplo).

Os módulos DSC são fáceis de encontrar, seja no próprio repositório da Microsoft de módulos suportados ou na comunidade PowerShell Gallery. Você pode até mesmo autorizar seu próprio, para instalar ferramentas internas ou aplicações relativamente raras.

[ Mantenha-se com os últimos desenvolvimentos no desenvolvimento de software. Inscreva-se no boletim InfoWorld First Look ]

Testando configurações WinGet

Se você vai automatizar instalações usando arquivos de configuração WinGet, então é importante garantir que os módulos que você está usando sejam confiáveis e seu YAML funciona conforme esperado. Enquanto você pode usar um ambiente sacrificial Dev Box para testes finais, os testes iniciais são melhores executados usando suas próprias máquinas virtuais do Windows ou até mesmo o Sandbox integrado do Windows, que joga fora seu conteúdo em cada reinicialização. Uma vez testado, você pode incluir o arquivo de configuração WinGet em sua configuração de Dev Box YAML.

Usar código para configurar nossas caixas dev é um passo importante para a frente, pois nos permite não só acelerar configurações, mas também armazenar o código que usamos para construir ambientes de desenvolvimento nos mesmos repositórios que o código que estamos construindo. É fácil imaginar uma extensão para o novo aplicativo Dev Hub que se conecta ao GitHub, baixa um arquivo de configuração e automatiza a configuração e configuração, permitindo-nos construir um ambiente de desenvolvimento a um clique de um botão, pronto para começar a codificação.

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button