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
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.
(Se você não tiver backups configurados, precisará criar um plano antes de fazer um backup completo.)
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.
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.
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.
Inicie a mídia de instalação Azure DevOps Server. Na página Configuração do Team Foundation Server, escolha Instalar.
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.
Para iniciar o assistente de restauração, abra o console de administração para Azure DevOps Server e abra Backups Agendados.
Especifique o caminho para o conjunto de backup e escolha o conjunto que você criou depois de desativar a implantação antiga.
Conclua o assistente e restaure os bancos de dados para a nova instância do SQL Server.
(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.
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:
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
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]
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
No console de administração do Azure DevOps Server, escolha Configurar Recursos Instalados para iniciar o centro de configuração.
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.
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.
Atualizar Azure DevOps Server URLs
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.
Depois de atualizar as URLs com o nome do novo servidor, revise as informações para garantir que estejam corretas.
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.
Abra uma janela do prompt de comando como administrador e altere os diretórios para Drive:\%programfiles%\TFS 12.0\Tools.
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
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.
Em cada servidor de compilação, abra o console de administração e interrompa o serviço de compilação.
Nas propriedades do serviço de compilação, atualize as propriedades de comunicação.
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.
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.
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.
Escolha Iniciar trabalhos para reiniciar os relatórios.
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.
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:
Execute o comando TFSConfig PrepareClone no novo servidor
Execute o comando TFSConfig ChangeServerID no novo servidor
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.