Partilhar via


Transferir de um ambiente para outro no Azure DevOps no local

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

Este artigo explica como mover uma implantação do Azure DevOps Server de um ambiente para outro, como alterar o nome de domínio ou mover de um grupo de trabalho para um domínio. Movimentos baseados em ambiente são comuns quando as organizações reestruturam sua infraestrutura de TI, atualizam nomes de domínio ou consolidam recursos.

Você pode encontrar orientações passo a passo para preparar sua implantação, atualizar permissões e contas, interromper serviços, fazer backup de dados, ingressar no novo domínio, migrar contas de usuário e de serviço, configurar serviços de relatório e análise, atualizar planos de backup e reiniciar serviços.

Alterar o ambiente do Azure DevOps Server requer um planejamento cuidadoso, especialmente em torno do gerenciamento de contas e identidades, para evitar conflitos e garantir uma transição suave. Este artigo fornece práticas recomendadas e instruções detalhadas para ajudá-lo a concluir a mudança com êxito.

Importante

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

Alterar identidades no Servidor de DevOps do Azure como parte de uma movimentação ambiental é o aspeto que mais frequentemente causa conflitos ou problemas. O Comando Identidades é uma ferramenta poderosa, mas tem certas limitações. Leia sobre isso como parte do planejamento de sua mudança. Para ajudar a garantir uma mudança bem-sucedida, certifique-se de que compreende os seguintes requisitos:

  • Quando uma conta de usuário está presente no Servidor de DevOps do Azure, ela não pode ser removida ou ter outra conta mapeada para ela. Por exemplo, se você estiver movendo DomainA/UserA para DomainB/UserB, o comando Identities só funcionará para migrar o usuário se DomainB/UserB ainda não estiver presente no Azure DevOps Server.
  • Como os membros do grupo Administradores local são adicionados automaticamente ao Servidor de DevOps do Azure, certifique-se de remover todas as contas que você deseja migrar desse grupo antes de alterar o domínio ou o ambiente.

Para obter mais informações, consulte esta postagem no blog.

1. Verifique as permissões e contas

Para alterar o ambiente do Servidor de DevOps do Azure, entre como administrador no computador local, no Servidor de DevOps do Azure, no SQL Server, em relatórios e em qualquer outro software dependente (como o Project Server). Evite usar contas que você planeja migrar — os membros do grupo Administradores local são adicionados automaticamente ao Servidor de DevOps do Azure, o que pode causar problemas de migração. Use uma conta administrativa dedicada para a mudança para evitar conflitos.

Verificar permissões de nível de administrador

  • Certifique-se de que a conta que está a utilizar é membro dos seguintes grupos:
    • Servidores: Administradores (grupo Administradores local ou equivalente)
    • Azure DevOps Server: Administradores do Team Foundation e usuários do Admin Console
    • SQL Server: administrador do sistema

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

Depois de confirmar que sua conta tem todas as permissões necessárias, verifique possíveis conflitos com nomes de contas ou grupos no ambiente de destino. Como as contas do grupo Administradores local não podem ser migradas, remova todas as contas que você planeja migrar desse grupo antes de continuar.

Remover contas a serem migradas do grupo Administradores local

Abra o grupo Administradores local e remova todas as contas que você planeja migrar para o novo ambiente. Repita este processo para quaisquer outros grupos que possam ser afetados.

Em seguida, revise a lista de identidades em seu ambiente atual do Azure DevOps Server. Identifique quaisquer conflitos potenciais com grupos ou contas de usuário que possam já existir no novo ambiente.

Sugestão

Crie uma tabela ou mapa de migração de identidades a serem movidas. Inclua detalhes sobre contas que não podem ser migradas automaticamente para ajudar a rastrear e resolver problemas durante a mudança.

Verificar identidades

  1. No servidor de nível da aplicação para Azure DevOps, abra uma janela de linha de comandos com permissões administrativas, navegue até %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools e execute o seguinte comando para exibir as identidades atualmente no sistema:

    TFSConfig Identities
    

Uma lista de identidades é exibida.

  1. Revise usuários e grupos para identificar identidades duplicadas ou conflitantes no ambiente de destino antes de mover o Servidor de DevOps do Azure. Resolva quaisquer conflitos potenciais para garantir uma migração suave.

2. Parar os serviços

A paragem dos serviços impede que os utilizadores façam alterações em itens de trabalho ou integrem o código-fonte na implantação original durante ou após o processo de transferência.

  1. Abra uma janela do Prompt de Comando no computador da camada de aplicativo e altere os diretórios para Drive:\\%programfiles%\\TFS 12.0\\Tools.

  2. Digite o seguinte comando TFSServiceControl :

    TFSServiceControl quiesce
    

3. Faça backup dos bancos de dados e da chave de criptografia do SQL Server Reporting Services

  1. Abra o console de administração do Servidor de DevOps do Azure e vá para a página Backups Agendados . Faça um backup completo para fazer backup imediato de tudo o que foi especificado no seu plano de backup. Se sua implantação usa relatórios, inclua a chave de criptografia nesse conjunto de backup.

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

    Observação

    Se você nunca configurou backups, crie um plano de backup antes de fazer um backup completo.

  2. Após a conclusão do backup, confirme se o backup está disponível no dispositivo de armazenamento ou no compartilhamento de rede e verifique se você pode acessá-lo a partir do novo hardware.

4. Junte o servidor de camada de aplicativo ao seu novo domínio

  1. Em cada servidor, abra as propriedades do computador.

  2. Altere as configurações do computador para ingressar no domínio ou grupo de trabalho desejado.

    Se solicitado, insira as credenciais de uma conta com permissão para adicionar o computador ao domínio.

  3. Reinicie o computador para aplicar a alteração de domínio.

    Observação

    Após reiniciar, poderá ver um aviso indicando que alguns serviços ou controladores não conseguiram ser iniciados. Você pode continuar com segurança com o próximo procedimento.

5. Mover contas de usuário e contas de serviço

A migração de contas geralmente é a parte mais desafiadora da mudança de ambiente, especialmente se você não planejou a migração do usuário com cuidado. O comando TFSConfig Identities não pode migrar uma conta para uma conta de destino que já existe no Azure DevOps Server.

Se os nomes de conta forem idênticos em ambos os domínios (com apenas o nome de domínio diferindo), você poderá usar o modo de lote de Identidades TFSConfig para atualizar todas as identidades de uma só vez. Se os nomes de conta forem diferentes entre ambientes, você deverá atualizar cada identidade individualmente e especificar o novo nome da conta de destino, conforme descrito abaixo.

  1. No servidor de camada de aplicação para o Azure DevOps, abra uma janela do Prompt de Comando com permissões administrativas. Navegue até %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools e execute o seguinte comando para atualizar o SID da conta de serviço para o novo domínio:

    TFSConfig identities /change /fromdomain:OldComputerorDomainName /todomain:NewDomainName /account:OldTFSServiceAccount /toaccount:NewTFSServiceAccount
    

    Advertência

    Se sua conta de serviço era uma conta do sistema (como Serviço de Rede), não é possível migrá-la diretamente porque existe uma conta do sistema com o mesmo nome no novo ambiente. Você precisa seguir um processo de duas etapas. Veja o exemplo em Comando Identidades.

  2. Para migrar todas as contas com o mesmo nome no novo ambiente, execute:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName
    

    Este lote de comandos processa as contas.

  3. Se o novo domínio contiver identidades com nomes diferentes entre ambientes, atualize manualmente os SIDs de cada um. Por exemplo, se a conta de Christie Church era Fabrikam\CChurch no ambiente antigo e é NewFabrikam\ChristieC no novo, atualize seu SID da seguinte maneira:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
    
  4. Atualize a conta de serviço executando:

    TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
    
  5. Se sua implantação usa relatórios, atualize a conta da fonte de dados:

    TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
    
  6. Se sua implantação usa o Azure DevOps Proxy Server, atualize a conta de serviço proxy:

    TFSConfig Accounts /change /AccountType:Proxy /account:AccountName /password:Password
    

    Observação

    Se estiver a mudar para um domínio não fidedigno, também poderá ter de adicionar manualmente utilizadores e grupos a equipas, projetos, coleções e ao próprio Servidor de DevOps do Azure. Para obter mais informações, consulte Adicionar usuários a projetos, Definir permissões de administrador para coleções de projetos e Definir permissões de administrador para o Azure DevOps Server.

  7. Se sua implantação se integrar ao Project Server, talvez seja necessário executar outras etapas para configurar contas de serviço com as permissões necessárias. Para obter mais informações, consulte Atribuir permissões para dar suporte à integração do TFS-Project Server e Configurar a integração do TFS-Project Server.

6. Configurar os Serviços de Relatórios e de Análise

Omita este procedimento se a sua implementação não usar relatórios.

Se você renomeou o servidor de relatório durante a mudança, atualize o Servidor de DevOps do Azure para apontar para o novo local do servidor de relatório. Você também precisa reiniciar o depósito e reconstruir manualmente o banco de dados do Analysis Services.

  1. Abra o console de gestão do Azure DevOps, navegue até ao nó Relatórios e edite as definições.

    Os relatórios ainda apontam para o servidor antigo

  2. Atualize os valores nas três guias para refletir o novo nome do servidor. Certifique-se de inserir as informações corretas da conta da fonte de dados para o novo ambiente.

    Certifique-se de que as informações estão corretas em todas as três abas

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

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

7. Configurar cópias de segurança

Se você alterou o nome de compartilhamento de rede ou o dispositivo de armazenamento durante a alteração do nome de domínio, atualize seu plano de backup agendado para fazer referência aos novos recursos.

No console de administração, vá para o nó Backups Agendados e reconfigure os backups agendados para fazer backup dos bancos de dados do Servidor de DevOps do Azure no novo servidor. Para obter detalhes, consulte Criar uma agenda e um plano de backup.

8. Reiniciar serviços

Agora que você atualizou o Azure DevOps Server com todas as informações para o novo ambiente, para reiniciar os serviços, execute as seguintes etapas:

  1. No computador da camada de aplicativo do Servidor de DevOps do Azure, abra uma janela do Prompt de Comando com permissões administrativas e altere os diretórios para Drive:\%programfiles%\TFS 12.0\Tools.

  2. Digite o seguinte comando TFSServiceControl :

    TFSServiceControl unquiesce
    

FAQs (perguntas frequentes)

P: Quero alterar o servidor ou servidores físicos para minha implantação, não domínios. Posso fazê-lo?

Um: Sim, essa ação é chamada de movimento baseado em hardware, e as etapas são fornecidas em Mover ou clonar de um hardware para outro. Você não deve tentar combinar uma movimentação baseada em ambiente com uma movimentação baseada em hardware. Primeiro, conclua a mudança de hardware e, em seguida, altere o ambiente.