Compartilhar via


Configurar a política de retenção no Azure DevTest Labs

Este artigo aborda a configuração de uma política de retenção, a limpeza da fábrica e a desativação de imagens antigas de todos os outros DevTest Labs na organização.

Pré-requisitos

Siga estes artigos antes de continuar:

Os seguintes itens já devem estar prontos:

  • Um laboratório para a fábrica de imagens no Azure DevTest Labs
  • Um ou mais Azure DevTest Labs de destino nos quais a fábrica distribuirá imagens de versão final
  • Um projeto do Azure DevOps usado para automatizar a fábrica de imagens.
  • Local do código-fonte que contém os scripts e a configuração (em nosso exemplo, no mesmo projeto do DevOps usado acima)
  • Uma definição de build para orquestrar as tarefas do Azure PowerShell

Configurar a política de retenção

Antes de configurar as etapas de limpeza, defina quantas imagens históricas você deseja manter no DevTest Labs. Quando seguiu o artigo Executar uma fábrica de imagens no Azure DevOps, você configurou diversas variáveis de build. Uma delas era ImageRetention. Defina essa variável como 1, o que significa que o DevTest Labs não manterá um histórico de imagens personalizadas. Somente as imagens distribuídas mais recentes estarão disponíveis. Se você alterar essa variável para 2, a imagem distribuída mais recente e as anteriores serão mantidas. Você pode definir esse valor para configurar o número de imagens históricas que deseja manter no DevTest Labs.

Limpeza da fábrica

A primeira etapa da limpeza da fábrica é remover as VMs de imagem de versão final da fábrica de imagens. Há um script para realizar essa tarefa, assim como os scripts anteriores. A primeira etapa é adicionar outra tarefa do Azure PowerShell à definição de build, conforme é mostrado na seguinte imagem:

Captura de tela que mostra uma etapa do PowerShell.

Quando você tiver a nova tarefa na lista, selecione o item e preencha todos os detalhes, conforme mostrado na seguinte imagem:

Captura de tela que mostra a tarefa Limpar imagens antigas do PowerShell.

Os parâmetros de script são: -DevTestLabName $(devTestLabName).

Desativar imagens antigas

Essa tarefa remove todas as imagens antigas, mantendo apenas um histórico correspondente à variável de build ImageRetention. Adicione mais uma tarefa de build do Azure PowerShell à definição de build. Depois de adicionada, selecione a tarefa e preencha os detalhes, conforme mostrado na imagem a seguir:

Captura de tela que mostra a tarefa Desativar imagens antigas do PowerShell.

Os parâmetros de script são: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(devTestLabName) -ImagesToSave $(ImageRetention)

Colocar o build na fila

Agora que você concluiu a definição de build, coloque um novo build na fila para garantir que tudo esteja funcionando. Depois que o build for concluído com êxito, as novas imagens personalizadas aparecerão no laboratório de destino. Se você verificar o laboratório de alocador de imagens, não verá nenhuma VM provisionada. Se você enfileirar os próximos builds, verá as tarefas de limpeza que desativam imagens personalizadas antigas do DevTest Labs. A desativação ocorre de acordo com o valor de retenção definido nas variáveis de build.

Observação

Se você executou o pipeline de build no final do último artigo da série, exclua manualmente as máquinas virtuais que criou no laboratório de alocador de imagens antes de enfileirar um novo build. Você só precisa da etapa de limpeza manual enquanto configura tudo e verifica se tudo funciona.

Resumo

Agora você tem uma fábrica de imagens em execução que pode gerar e distribuir imagens personalizadas para seus laboratórios sob demanda. Neste ponto, é apenas uma questão de configurar suas imagens corretamente e identificar os laboratórios de destino. Conforme mencionado no artigo anterior, o arquivo Labs.jsno localizado na pasta Configuração especifica quais imagens devem ser disponibilizadas em cada um dos laboratórios de destino. Ao adicionar outros DevTest Labs à sua organização, basta adicionar uma entrada no arquivo Labs.json referente ao novo laboratório.

Adicionar uma nova imagem à fábrica também é simples. Quando você quiser incluir uma nova imagem no alocador, abra o portal do Azure e navegue até o laboratório de alocador. Selecione o botão para adicionar uma VM e escolha a imagem do marketplace e os artefatos que deseja. Em vez de selecionar o botão Criar para criar a VM, selecione Exibir o modelo do Azure Resource Manager. Salve o modelo como um arquivo .json em algum lugar dentro da pasta GoldenImages em seu repositório. Na próxima vez que você executar a fábrica de imagens, ele criará sua imagem personalizada.

Próximas etapas

  1. Agende seu build/versão para executar a fábrica de imagens periodicamente. Essa opção atualiza as imagens geradas pelo alocador regularmente.
  2. Faça mais imagens de versão final para a fábrica. Você também pode considerar a criação de artefatos para gerar script de mais partes das tarefas de instalação da VM e incluir os artefatos nas imagens do alocador.
  3. Crie um build/versão separado para executar o script DistributeImages separadamente. Você pode executar esse script quando fizer alterações no arquivo Labs.json e obter imagens copiadas para laboratórios de destino sem precisar recriar todas as imagens.