DevSecOpsARTIGO

Estratégia de Backup e recovery no azure Devops

Em posts anteriores, apresentamos o Azure DevOps e seus principais serviços. Ao começar o uso intensivo, saiba como funciona o backup e restore das infos

Estratégia de Backup e recovery no azure Devops
Imagem: Leonardo Matsumota

Em posts anteriores, apresentamos o Azure DevOps e seus principais serviços: Azure Pipelines, Boards, Artifacts, Repos e Test Plans. Vimos também os principais benefícios da solução e como gerenciar o ciclo de vida do desenvolvimento. Ao começar o uso intensivo em sua organização, criando times e projetos, seguramente uma pergunta que virá: como funciona o backup e restore das informações?

Bom, oficialmente a Microsoft não possui um serviço (como Backup do Azure ou Armazenamento de Blobs) no Portal Azure para fazer o backup da estrutura e dados do Azure DevOps em nível de organização ou projeto.

portal-azure

* para saber como funciona no Azure DevOps Server 2019 e TFS (2018 à 2013), acesse este link de Backup and Restore.

O que pode ser feito então se alguma estrutura de projeto, arquivo de repositório ou tarefas do board forem apagadas indevidamente? Claro, que a primeira recomendação é segregar muito bem os acessos no time para evitar modificações inapropriadas. Com os acessos bem controlados, algumas recomendações que ajudam a gerenciar estes problemas são:

Board

A primeira dica é com um processo bem manual. Para salvar os work items da área board, utilize o recurso de Query e ajuste a consulta (colunas e filtros) para retornar os itens que você precisa. Em seguida, utilize “open in excel” e mantenha uma rotina de atualização. Assim, quando precisar, basta utilizar o serviço de conexão (Excel – Azure DevOps) e carregar os work itens novamente.

azure-devops-query

* as configurações relacionadas aos projetos e times de projetos são carregadas nesta query, mas caso a estrutura (teams, iterations, templates, etc.) seja perdida no Azure DevOps, ela precisará ser recriada manualmente.

Repos

Ao deletar um projeto, você não pode recuperá-lo. Por isso, mantenha sempre um backup do projeto. Há um procedimento para salvar o código fonte e os dados do build (View build results). Acesse a área de repositório e clique com o botão direito no nível desejado (pode ser um arquivo específico ou pasta inteira) para o download dos arquivos.

download-files-azure

* se você utiliza Git, clone seus repositórios para manter o histórico do projeto e todas as branches.

Pipelines

A estrutura de Build pode ser guardada com o comando Export. Acesse a área de Pipelines > Builds e com o botão direito Export. Este comando gera um JSON que pode ser utilizado para importar a estrutura de volta.

export-build

Veja que ao importar o arquivo JSON (em Pipelines > Import a pipeline), temos a estrutura criada a partir do Build que exportamos as configurações.

pipeline-build-import.png

As Releases podem ser feitas da mesma forma, exportando a estrutura em arquivo JSON e importando novamente quando necessário. Também recomendo a leitura deste artigo para implementar uma estratégia de rollback com release management.

Leonardo MatsumotaAutor

Leonardo possui mais de 17 anos de experiência em projetos de TI, Agile, desenvolvimento de sistemas web, Business Inteligence, Data Mining, Machine Learning e Dashboards. Especialista em Governância: Agile (Scrum), SAFe, PMBOK, Kanban e Lean Six Sigma. Mestre em Engenharia de Produção, MBA em Gestão Empresarial com ênfase em Gestão de Projetos e bacharelado em Ciência da Computação. Fluente em Inglês e espanhol avançado.

Ver perfil