Compartilhar via


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

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

Você pode mover ou clonar sua implantação do software Azure DevOps Server. 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. Quando você muda para um novo servidor, não perde nada do histórico do seu projeto.

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

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 original de Azure DevOps Server.

Importante

Em algumas situações, talvez você queira alterar o domínio de uma implantação Azure DevOps Server, bem como seu hardware. Alterar o domínio é uma movimentação baseada no ambiente e você nunca deve combinar os dois tipos de movimentação. Primeiro, conclua a movimentação do hardware e, em seguida, altere o ambiente.

Verificar suas permissões

Para mover com êxito Azure DevOps Server, 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 todos os softwares dos quais sua implantação depende: SQL Server, relatórios e qualquer outro software com o qual sua implantação interopera, como Project Server.

Certifique-se de ser membro dos seguintes grupos:

  • Servidores: Administradores (grupo de Administradores local ou equivalente)
  • Azure DevOps Server: administradores do Team Foundation e usuários do console de 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 do Azure DevOps Server e, na página Backups Agendados , faça um backup completo. O backup fará backup de tudo o que você configurou para backup em seu plano de backup, mas o fará imediatamente, não de acordo com o horário agendado no plano. Se sua implantação usar relatórios, você poderá fazer 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. Depois 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 da camada de dados

  • Instale o SQL Server no novo servidor e verifique se ele está operacional. Se sua implantação anterior usava relatórios, certifique-se de incluir os componentes de relatórios e do Analysis Services. Você deve instalar a mesma versão e edição que usou anteriormente, incluindo service pack e níveis de atualização cumulativa.

    Instalar o SQL Server 2008 R2 - Recursos

    Como alternativa, você pode criar uma instância do 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 do SQL Server, clique aqui.

    Depois de instalar o SQL Server, se sua implantação incluir relatórios, 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 da camada de aplicativo

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

  • Um sistema operacional compatível com sua 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 ferramentas de restauração do SQL Server, você pode, mas esse é um procedimento mais difícil. Além disso, você terá que desfazer manualmente os bancos de dados na nova implantação. O assistente de restauração em 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 é aberto automaticamente em um estado não configurado. Isso é esperado.

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

    Iniciar o assistente de restauração

  4. Especifique o caminho para o conjunto de backup 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 de clonagem) Reconfigurar IDs de servidor e remapear bancos de dados

Observação

PrepareClone costumava ser recomendado para uso antes de criar uma nova implantação 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 Clone de Pré-Produção no assistente de configuração.

Execute o próximo conjunto de etapas no novo servidor de camada de aplicativo se você pretende continuar usando a instância original de Azure DevOps Server. 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 sendo corrompido, principalmente 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 Drive:%programfiles%\TFS 12.0\Tools. Abra uma janela do prompt de comando e digite:

  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 na implantação de Azure DevOps Server.

    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 Camada de Aplicativo e, em Bancos de Dados, especifique a nova instância do SQL Server em que você restaurou os bancos de dados Azure DevOps Server. Escolha o banco de dados Tfs_Configuration na lista.

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

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

    Anote quaisquer problemas e a localização do arquivo de log

Atualizar Azure DevOps Server URLs

  1. Vá para 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 da implantação antiga. Atualize-os.

    A notificação e os URLs da Web estão desatualizados

  2. Depois de atualizar as URLs com o nome do novo servidor, revise as informações para garantir que estejam 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). Mesmo que essas contas não tenham sido alteradas, você deve atualizar as 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 Drive:\%programfiles%\TFS 12.0\Tools.

  2. No prompt de comando, digite o seguinte comando para adicionar a conta de serviço para 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 de 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 movida Azure DevOps Server.

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

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

    Pare o serviço e faça alterações

Configurar o Reporting and Analysis Services

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

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

    Os relatórios ainda apontam para o servidor antigo

  2. Altere os valores em todas as três guias para apontar para o novo servidor. Certifique-se de fornecer as informações corretas para a conta de fontes de dados na nova implantação.

    Certifique-se de que as informações estejam corretas em todas as 3 guias

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

  4. Escolha Iniciar reconstrução para reconstruir o depósito.

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

Depois de mudar para o novo hardware, certifique-se de que todos os usuários, grupos e contas de serviço para sua implantação estejam 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 migradas automaticamente. 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 verifique se os usuários, grupos e contas de serviço estão 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 esperadas.

  • Navegue até uma coleção de projetos e verifique se todos os projetos nessa coleção aparecem conforme o esperado e se os usuários nesses projetos podem 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 o cache 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 de banco de dados para relatórios, se o relatório fizer parte de sua implantação

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

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

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

    Copiando a URL para clonar manualmente um repositório em

Configurar backups

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

  • No console de administração, vá para 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 Criar um agendamento e um plano de backup.

Perguntas e Respostas

P: Quero mudar de domínio, não de servidores físicos. Posso fazer isso?

R: Sim. Isso é chamado de movimento baseado em ambiente e as etapas podem ser encontradas aqui. Você não deve tentar combinar uma movimentação baseada em ambiente com uma movimentação baseada em hardware. Primeiro, conclua a movimentação do hardware e, em seguida, 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?

R: Sim, mas é muito importante que você execute etapas adicionais imediatamente. Idealmente, você deve ter executado essas etapas como parte da movimentação ou das etapas 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 sendo corrompido, principalmente se eles estiverem apontando para os mesmos recursos de relatório.

Para corrigir esse problema:

  1. Execute o comando TFSConfig PrepareClone no novo servidor

  2. Execute o comando TFSConfig ChangeServerID no novo servidor

  3. Execute o comando TFSConfig RemapDBs no novo servidor

P: Tenho uma implantação que se integra ao Project Server. Preciso executar alguma etapa extra para fazê-lo funcionar com meu Azure DevOps Server movido?

R: 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 Project Server. Você pode ler mais sobre Azure DevOps Server integração com Project Server aqui.