Compartilhar via


Faça uma simulação da atualização em um ambiente de pré-produção

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Preciso me preocupar?

Fazer uma simulação da atualização em um ambiente de pré-produção é altamente recomendável, mas nem sempre faz sentido. Se você estiver debatendo se deseja ou não fazer uma atualização de pré-produção, pese os custos de fazê-lo em relação aos custos de não fazê-lo. Em particular, se algo der errado com a atualização de produção, o custo principal será o tempo de inatividade envolvido enquanto você reverte para a versão antiga do TFS. Dependendo das especificidades da atualização, esse pode ser um processo rápido e simples, ou pode levar muito tempo e envolver muitas partes móveis. Assim como acontece com a atualização, a complexidade da reversão dependerá de coisas como o tamanho dos bancos de dados, o número de computadores envolvidos etc.

Noções básicas

Se você decidir avançar com uma atualização de pré-produção, o processo geral consistirá em:

  1. Manter um ambiente de pré-produção semelhante ao seu ambiente de produção.
  2. Proteger seu ambiente de produção.
  3. Restaurando bancos de dados de backups.
  4. Fazendo a atualização.

Defendendo um ambiente

Em um mundo ideal, seu ambiente de pré-produção seria exatamente semelhante ao seu ambiente de produção– dessa forma, você obteria o mais preciso possível uma imagem de quanto tempo sua atualização levará, se você encontrará algum problema ao longo do caminho, etc. No mundo real, no entanto, isso nem sempre é possível ou desejável. Os custos de provisionamento de um segundo conjunto de computadores idênticos para testes de pré-produção podem ser proibitivos. No entanto, não deixe que essas discrepâncias o dissudam – quase qualquer ambiente de pré-produção é melhor do que nada.

Protegendo a produção

Os bancos de dados TFS contêm várias configurações que apontam para vários recursos em seu ambiente de implantação. Por exemplo, as cadeias de conexão do banco de dados de coleção são armazenadas no banco de dados de configuração, assim como o compartilhamento de rede usado pelo recurso de backups agendados. Como resultado, é possível que um ambiente de pré-produção cause problemas em um ambiente de produção e é uma prática recomendada ao defender um ambiente de pré-produção tomar medidas para evitar isso.

A etapa mais importante que você pode seguir é usar uma conta de serviço em seu ambiente de pré-produção que não tenha permissões para seu ambiente de produção. Idealmente, ele não deve ter nenhuma permissão no TFS, no SQL, em compartilhamentos de rede etc. As opções aqui incluem o Serviço de Rede (supondo que sua conta de computador de pré-produção não precise de permissões em produção) ou uma conta de domínio de pré-produção dedicada, como no exemplo abaixo.

Exemplo de conta de serviço de pré-produção

Outra etapa opcional é adicionar entradas aos arquivos de hosts dos computadores de pré-produção para mapear os nomes dos computadores de produção para endereços IP inválidos. Confira a entrada da Wikipédia aqui se você não tiver certeza do que é um arquivo de hosts. Isso pode impedir a comunicação de saída com seus computadores de produção de seus computadores de pré-produção.

Exemplo de redirecionamento de arquivo de hosts de AT e DT

Restaurando bancos de dados

Se você usar o assistente de backups agendados para gerar backups de banco de dados de sua implantação de produção, também poderá usá-lo para restaurar backups em sua implantação de pré-produção. Caso contrário, você também pode seguir os procedimentos padrão do SQL para restaurar backups. Sua lista de bancos de dados para backup e restauração deve sempre incluir o banco de dados de configuração e todos os bancos de dados de coleção. Se o ambiente de pré-produção incluir recursos de relatório, você também deverá incluir os bancos de dados do warehouse e do servidor de relatório.

Fazendo a atualização

Instale a nova versão do TFS nos computadores da camada de aplicativo. Antes de executar o assistente de atualização, execute o comando ChangeServerId. Isso garantirá que você não tenha problemas se acessar seus ambientes de produção e pré-produção dos mesmos clientes e deverá ser feito sempre que estiver clonando uma coleção ou uma implantação completa.

Quando estiver pronto, atualize seu ambiente de pré-produção usando as mesmas etapas que você usará para atualizar a produção. Lembre-se de usar uma conta de serviço que não tem permissões em seu ambiente de produção.

Configurar novos recursos

Algumas atualizações introduzem novos recursos que tomam etapas adicionais para configurar, pois envolvem alterações de processo em seus projetos existentes. Dependendo das especificidades de seus projetos e da versão do TFS da qual você está atualizando, isso pode ser mais ou menos complicado. Confira aqui para obter detalhes.

Experimente as coisas

Tire o servidor de pré-produção para dar uma volta! Faça uma cutucada, experimente alguns dos novos recursos... Observe que algumas coisas, como a execução de builds, exigirão algumas configurações adicionais.

Se você descobrir problemas, tente trabalhar com eles aqui para evitar atingi-los novamente na produção. Quando estiver satisfeito, chame-o por dia e passe para a atualização de produção.