Mover ou clonar de um hardware para outro para o Azure DevOps local

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

Você pode mover ou clonar a implantação de Azure DevOps Server software. Você move Azure DevOps Server de um computador para outro restaurando-o para um novo hardware (chamado de movimentação baseada em restauração). Por exemplo, talvez você queira mover Azure DevOps Server para um servidor com maior capacidade ou velocidade de processamento aprimorada. Ao mover para um novo servidor, você não perde nenhum do histórico do projeto.

Para clonar sua implantação de Azure DevOps Server, execute as mesmas etapas que uma movimentação, além de algumas outras.

Você executa uma movimentação quando planeja descontinuar o uso do hardware original e Azure DevOps Server implantação. Você executa um clone quando pretende continuar usando a instância de Azure DevOps Server original.

Importante

Em algumas situações, talvez você queira alterar o domínio de uma implantação de Azure DevOps Server, bem como seu hardware. A alteração do domínio é um movimento baseado em ambiente e nunca deverá combinar os dois tipos de movimento. Primeiro complete a movimentação de hardware e depois altere o ambiente.

Verificar suas permissões

Para mover Azure DevOps Server com êxito, você precisará ser um administrador em ambos os conjuntos de hardware (o antigo e o novo). Além disso, você precisará ser um administrador (ou ter as permissões equivalentes) para Azure DevOps Server e todo o software do qual sua implantação depende: SQL Server, relatórios e qualquer outro software com o qual sua implantação interopera, como o Project Server.

Verifique se você é membro dos seguintes grupos:

  • Servidores: Administradores (grupo de Administradores local ou equivalente)
  • Azure DevOps Server: Administradores do Team Foundation e usuários do Console Administração
  • SQL Server: sysadmin

Se você não for membro de um ou mais desses grupos, obtenha permissões agora.

Fazer backup de bancos de dados e chave de criptografia

  1. Abra o console de administração para Azure DevOps Server e, na página Backups Agendados, faça um backup completo. Será feito o backup de tudo que você configurou no plano de backup, mas isso será feito imediatamente, e não de acordo com a hora agendada no plano. Se a implantação usar relatórios, faça backup da chave de criptografia como parte desse conjunto de backup.

    Você pode fechar a janela enquanto o trabalho é concluído

    (Se você não tiver backups configurados, precisará criar um plano antes de fazer um backup completo.)

  2. Assim que o backup for concluído, verifique se o backup está disponível no dispositivo de armazenamento ou no compartilhamento de rede, e se você pode acessar esse backup do novo hardware.

Instalar e configurar o SQL Server no novo servidor de camada de dados

  • Instale SQL Server no novo servidor e verifique se ele está operacional. Se a implantação anterior usou o Reporting, certifique-se de que tenha incluído os componentes do Reporting e do Analysis Services. Você deve instalar a mesma versão e edição que usou anteriormente, incluindo os níveis de serviço de empacotamento e atualização cumulativa.

    Instalar SQL Server 2008 R2 – Recursos

    Como alternativa, você pode criar uma instância de SQL Server em um servidor que já tenha uma versão correspondente instalada e restaurar os bancos de dados Azure DevOps Server para essa instância, mas isso exigirá mais configuração pós-restauração.

    Para obter mais informações sobre as opções de instalação e configuração de SQL Server, acesse aqui.

    Após instalar o SQL Server, se a implantação incluir o Reporting, abra o SQL Server Management Studio e desanexe os bancos de dados ReportServer e ReportServerTempDB. Caso contrário, talvez você não consiga restaurar esses bancos de dados com o backup criado para os bancos de dados Azure DevOps Server.

    Os bancos de dados existentes devem ser desanexados antes da restauração

Instalar e configurar o software no novo servidor de camada de aplicativo

Para configurar um novo servidor ou servidores para Azure DevOps Server, primeiro você deve instalar e configurar o software necessário para dar suporte a ele. Esse software inclui os seguintes componentes:

  • um sistema operacional compatível com a configuração de implantação

  • Instale e configure o Windows, o IIS (se não estiver configurado por padrão) e verifique se o servidor e seu software estão operacionais. 

    Para obter mais informações, consulte os requisitos do sistema para Azure DevOps Server.

Restaurar os bancos de dados Azure DevOps Server

Para restaurar os bancos de dados Azure DevOps Server usando a ferramenta de restauração, você deve instalar, mas não configurar Azure DevOps Server no novo servidor da camada de dados e, em seguida, usar a função de restauração no nó Backups Agendados.

Se você quiser restaurar Azure DevOps Server bancos de dados manualmente usando SQL Server ferramentas de restauração, poderá, mas esse é um procedimento mais difícil. Além disso, você precisará cancelar o fechamento dos bancos de dados manualmente na nova implantação. O assistente de restauração no Azure DevOps Server faz isso automaticamente para você como parte de seu processo de restauração, mas essa funcionalidade não faz parte das ferramentas de restauração do SQL Server.

  1. Inicie a mídia de instalação Azure DevOps Server. Na página Configuração do Team Foundation Server , escolha Instalar.

  2. Quando a instalação for concluída, o Centro de Configuração do Team Foundation Server será aberto. Feche-o.

    O console de administração abre automaticamente em um estado não configurado. Isso é esperado.

  3. Para iniciar o Assistente de restauração, abra o console de administração do Azure DevOps Server e abra Backups Agendados.

    Iniciar o assistente de restauração

  4. Especifique o caminho para o backup definido e escolha o conjunto que você criou depois de desativar a implantação antiga.

    Escolha o caminho de rede e, em seguida, o conjunto de restauração

  5. Conclua o assistente e restaure os bancos de dados para a nova instância do SQL Server.

    Os bancos de dados são restaurados para o novo servidor

(Opção Clonar) Reconfigurar IDs de servidor e remapear bancos de dados

Observação

PrepareClone costumava ser recomendado para uso antes de fazer uma nova implantação de Azure DevOps Server usando um backup de banco de dados já em produção em outro servidor. Esse comando não é mais necessário, pois incorporamos sua funcionalidade nos cenários de Atualização e Clonagem de Pré-Produção no assistente de configuração.

Execute o próximo conjunto de etapas no novo servidor da camada de aplicativo se você pretende continuar usando a instância de Azure DevOps Server original. Essas etapas são necessárias para evitar o risco de corrupção de uma ou ambas as implantações. Se ambos os servidores estiverem ativos, você poderá acabar com corrupção, especialmente se eles estiverem apontando para os mesmos recursos de relatório.

  1. Abra uma janela do Prompt de Comando como administrador e altere os diretórios para Unidade:%programfiles%\TFS 12.0\Tools. Abra uma janela do Prompt de Comando e insira:

  2. Execute o comando TFSConfig PrepareClone para remover informações sobre backups agendados e recursos de relatório.

    TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL
    
  3. Execute o comando TFSConfig ChangeServerID para alterar os GUIDs do servidor associados aos bancos de dados. Os GUIDs devem ser exclusivos no Azure DevOps Server implantação.

    TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]
    
  4. Execute o comando TFSConfig RemapDBs para redirecionar o Azure DevOps Server clonado para seus bancos de dados.

    TFSConfig RemapDBs /DatabaseName:ServerName;DatabaseName /SQLInstances:ServerName1,erverName2 [/AnalysisInstance:ServerName] [/AnalysisDatabaseName:DatabaseName] [/review] [/continue] [/usesqlalwayson]
    

Configurar o servidor da camada de aplicativo

  1. No console de administração do Azure DevOps Server, escolha Configurar Recursos Instalados para iniciar o centro de configuração.

  2. Inicie o assistente Somente Application-Tier e, em Bancos de Dados, especifique a nova instância SQL Server em que você restaurou os bancos de dados Azure DevOps Server. Escolha o banco de dados Tfs_Configuration na lista.

    Selecione o conjunto de backup de banco de dados e SQL Server

  3. Antes de fechar a página final do assistente, procure pelo símbolo "i". Significa informações que talvez você queira para referência futura. A página final também inclui o local do log de configuração.

    Observe os problemas e o local do arquivo de log

Atualizar URLs de Azure DevOps Server

  1. Acesse o nó da camada de aplicativo e examine a notificação e as URLs do portal da Web. Observe que eles ainda apontam para o local de implantação antigo. Atualize-os.

    A notificação e as URLs da Web estão desatualizadas

  2. Após atualizar as URLs com o nome do novo servidor, revise as informações para certificar-se de que estão corretas.

    A URL do servidor ainda usa localhost

Atualizar todas as contas de serviço

Você deve atualizar a conta de serviço para Azure DevOps Server (TFSService) e a conta de fontes de dados (TFSReports). Ainda que essas contas não mudem, você deve atualizar informações para ajudar a garantir que a identidade e o formato das contas sejam apropriados para o novo servidor.

  1. Abra uma janela do Prompt de Comando como administrador e altere os diretórios para Unidade:\%programfiles%\TFS 12.0\Tools.

  2. No prompt de comando, digite o seguinte comando para adicionar a conta de serviço para o Azure DevOps, em que DatabaseName é o nome do banco de dados de configuração (por padrão, TFS_Configuration):

    Contas TfsConfig /add /AccountType:ApplicationTier /account:AccountName/SQLInstance:ServerName/DatabaseName:DatabaseName

  3. No prompt de comando, digite o seguinte comando para adicionar a conta da fontes de dados:

    Contas TfsConfig /add /AccountType:ReportingDataSource /account:AccountName/SQLInstance:ServerName/DatabaseName:DatabaseName

    Para obter mais informações, consulte Comando Contas.

Atualizar servidores de compilação

Agora você precisará redirecionar seus servidores de build para apontar para a implantação de Azure DevOps Server movida.

  1. Em cada servidor de compilação, abra o console de administração e pare o serviço de compilação.

  2. Nas propriedades para o serviço de compilação, atualize as propriedades de comunicação.

    Parar o serviço e, em seguida, fazer alterações

Configurar o Reporting Services e o Analysis Services

Se a implantação usar um servidor de relatório, você deverá redirecionar Azure DevOps Server para sua localização, reiniciar o warehouse e recompilar manualmente o banco de dados para o Analysis Services. Se você não usar a emissão de relatórios, ignore este procedimento.

  1. Vá para o nó Relatórios. Os valores listados do servidor de relatório são aqueles antigos, não os novos, portanto edite-os.

    Os relatórios ainda apontam para o servidor antigo

  2. Altere os valores nas três guias para apontar para o novo servidor. Certifique-se de que você forneceu informações corretas para a conta da fontes de dados na nova implantação.

    Verifique se as informações estão corretas em todas as três guias

  3. Escolha Iniciar Trabalhos para reiniciar os relatórios.

  4. Escolha Iniciar Recompilação para recompilar o warehouse.

Verificar permissões para usuários, grupos e contas de serviço

Após migrar para o novo hardware, certifique-se de que todos os usuários, grupos e contas de serviço de sua implantação sejam configurados com as permissões necessárias para funcionar corretamente em cada servidor. Algumas permissões, como permissões adicionais no SQL Server ou no computador local, não podem ser automaticamente migradas. Por exemplo, os administradores do Azure DevOps devem ser membros do grupo administradores local no servidor da camada de aplicativo para abrir o console de administração, portanto, você deve adicioná-los manualmente a esse grupo.

  • Faça logon no servidor e certifique-se de que usuários, grupos e contas de serviço estejam configurados com as permissões necessárias para a operação. Verifique manualmente a associação em grupos e equipes de projeto e verifique se esses grupos e equipes têm as permissões que você espera.

  • Navegue até uma coleção de projetos e verifique se todos os projetos dessa coleção aparecem conforme o esperado e que os usuários desses projetos possam acessar adequadamente seus itens de trabalho.

  • Abra o portal da Web e verifique se os sites de equipe e as equipes aparecem conforme o esperado.

Não tem certeza de quais grupos e permissões esperar? Para obter mais informações, consulte Adicionar usuários a projetos, Definir permissões de administrador para coleções de projetos, Definir permissões de administrador para Azure DevOps Server e Contas de serviço e dependências em Azure DevOps Server.

Atualizar caches de dados em computadores cliente

  • Faça logon no servidor e use o serviço Web ClientService para forçar os clientes a atualizar o cache para acompanhar itens de trabalho e para o controle de versão do Azure DevOps.

    http://ServerName:8080/tfs/WorkItemTracking/v3.0/ClientService.asmx
    

    Para obter mais informações, consulte Atualizar os caches de dados em computadores cliente.

    Se você quiser atualizar todo o cache para todos os usuários na próxima vez que eles fizerem logon, use o comando witadmin rebuildcache .

    Observação

    Se você restaurou seus bancos de dados para um ponto diferente no tempo, também precisará atualizar o cache de controle de versão, conforme documentado em Atualizar os caches de dados em computadores cliente.

Notificar os usuários

Agora que você moveu Azure DevOps Server, precisará informar aos usuários como se conectar à implantação movida. Especificamente, você precisará fornecer a eles as seguintes informações:

  • O nome do novo servidor e a URL do portal da Web, para que eles possam se reconectar aos seus projetos

  • Os novos nomes do bancos de dados dos relatórios, se os relatórios fizerem parte da implantação

  • Se eles forem membros de um projeto que usa o Git, instruções sobre como atualizar cada clone que eles têm localmente para cada repositório desse projeto. Especificamente, será necessário executar o seguinte comando para cada clone:

    git remote set-url <remote name> <new URL>
    

    Os usuários podem ver qual é a URL para cada clone navegando pelo projeto na guia Explorer.

    Copiar a URL para clonar manualmente um repositório no

Configurar backups

Embora você tenha backups agendados para a implantação antiga, esses backups agendados não foram alterados para fazer backup da implantação movida. Você precisará configurá-los.

  • No console de administração, acesse o nó Backups Agendados e reconfigure os backups agendados para fazer backup dos bancos de dados Azure DevOps Server no novo servidor. Para obter mais informações, consulte Create um agendamento e um plano de backup.

Perguntas e Respostas

P: Desejo alterar domínios, não servidores físicos. Posso fazer isso?

R: Sim. Isso é chamado de movimentação baseada em ambiente e as etapas podem ser encontradas aqui. Você não deve tentar combinar um movimento baseado em ambiente com um movimento baseado em hardware. Primeiro complete a movimentação de hardware e depois altere o ambiente.

P: Acabei de perceber que quero continuar usando meu antigo Azure DevOps Server depois de mudar para um novo hardware. Posso fazer isso?

Um: Sim, mas é muito importante que você execute etapas adicionais imediatamente. O ideal é que você tenha executado essas etapas como parte das etapas de movimentação ou de clonagem. Essa é a melhor maneira de evitar o risco de corrupção de uma ou ambas as implantações. Se ambos os servidores estiverem ativos, você poderá acabar corrompido, especialmente se eles estiverem apontando para os mesmos recursos de relatório.

Para corrigir esse problema:

  1. Executar o comando TFSConfig PrepareClone no novo servidor

  2. Executar o comando TFSConfig ChangeServerID no novo servidor

  3. Executar o comando TFSConfig RemapDBs no novo servidor

P: Eu tenho uma implantação que se integra ao Project Server. Tenho que executar etapas extras para fazê-lo funcionar com minha Azure DevOps Server movida?

Um: Sim, depois de concluir a movimentação de hardware, você precisará usar o comando TFSAdmin ProjectServer/RegisterPWA com as opções /tfs, /force e /pwa para registrar novamente Azure DevOps Server com o Project Server. Você pode ler mais sobre Azure DevOps Server integração com o Project Server aqui.