Mover de um ambiente para outro para o Azure DevOps local

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

O cenário de movimentação mais comum baseado em ambiente é alterar o domínio da implantação do Azure DevOps Server, seja uma alteração de nome de domínio ou indo de um grupo de trabalho para um domínio.

Importante

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

Além disso, alterar identidades em Azure DevOps Server como parte de um movimento ambiental é o aspecto 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 da sua mudança. Para ajudar a garantir uma movimentação bem-sucedida, certifique-se de entender os seguintes requisitos:

  • Depois que uma conta de usuário estiver presente no Azure DevOps Server, ela não poderá ser removida ou ter outra conta mapeada para ela. Por exemplo, se você estiver movendo DomainA/UserA para DomainB/UserB, o comando Identidades 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 locais são adicionados automaticamente ao Azure DevOps Server, remova as contas que você deseja migrar desse grupo antes de alterar o domínio ou o ambiente.

Para obter mais informações em segundo plano, acesse aqui para obter uma descrição detalhada de como as alterações de identidade no Azure DevOps Server funcionam, incluindo limitações da ferramenta.

Vamos percorrer as etapas para alterar o ambiente da implantação do Azure DevOps Server nas seguintes seções:

  1. Verificar permissões e contas
  2. Parar serviços de Azure DevOps Server
  3. Fazer backup de dados
  4. Ingressar Azure DevOps Server em seu novo domínio
  5. Mover Azure DevOps Server contas de usuário e serviço
  6. Configurar o Reporting and Analysis Services
  7. Reiniciar serviços de Azure DevOps Server

Verificar permissões e contas

Para alterar com êxito o ambiente para Azure DevOps Server, você precisará ser um administrador no computador local, bem como 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. No entanto, todos os membros do grupo administradores locais são incluídos automaticamente no Azure DevOps Server, o que pode causar problemas ao tentar migrar contas. Portanto, você deve usar uma conta que não pretende migrar como parte da movimentação ambiental. Você pode considerar adicionar uma conta administrativa especial apenas para a movimentação e usar essa conta para executar a migração.

Para verificar permissões no nível de administrador

  • Verifique se a conta que você está usando é um 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.

Agora que você tem certeza de que está usando uma conta que tem todas as permissões necessárias, é hora de iniciar a verificação de contas para ver se pode haver conflitos com nomes ou grupos no ambiente para o qual você estará se movendo. Já sabemos que as contas que são membros do grupo administrador local não podem ser migradas, portanto, vamos removê-las primeiro.

Remover contas a serem migradas do grupo administradores locais

  • Abra o grupo Administradores local e remova todas as contas que você deseja migrar para o novo ambiente. Repita esta etapa para quaisquer outros grupos que possam ser afetados.

Agora marcar a lista de identidades no ambiente Azure DevOps Server atual e procure possíveis problemas com grupos ou contas de usuário individuais que possam existir no novo ambiente.

Dica

Considere criar uma tabela ou um mapa de migração de identidades a serem movidas como parte da movimentação ambiental, incluindo detalhes de quais contas podem não ser capazes de ser migradas automaticamente.

Verificar identidades

  1. No servidor da camada de aplicativos do 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 exibir as identidades atualmente no sistema:

    TFSConfig Identities
    
  2. Uma lista de identidades será exibida. Verifique esses usuários e grupos para garantir que não haja possíveis duplicatas ou problemas com identidades no ambiente para o qual você moverá Azure DevOps Server e tome medidas para atenuar possíveis conflitos.

Parar serviços

Interromper os serviços ajuda a garantir que os usuários não possam fazer alterações nos itens de trabalho nem fazer check-in do código-fonte na implantação original durante ou após o processo de movimentação.

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

  2. Digite o seguinte comando TFSServiceControl :

    TFSServiceControl quiesce

Fazer backup dos bancos de dados e da chave de criptografia do SQL Server Reporting Services

  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.

Ingressar o servidor da camada de aplicativo em seu novo domínio

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

  2. Altere as configurações do computador para o domínio ou grupo de trabalho ao qual você deseja ingressar no servidor.

    Se for solicitado que você forneça o nome de usuário e a senha de uma conta que tenha permissões para ingressar esse computador no domínio, forneça as credenciais apropriadas.

  3. Reinicie o computador para que a alteração de domínio entre em vigor.

    Observação

    Depois de reiniciar o computador, pode ser exibido um aviso de que serviços ou drivers não puderam ser iniciados. Continue com o próximo procedimento.

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

Conforme mencionado no início deste tópico, mover contas é quando você tem maior probabilidade de encontrar dificuldades, especialmente se você não planejou cuidadosamente a migração de usuários. O comando Identidades TFSConfig não pode migrar nenhuma conta para uma conta que já existe no Azure DevOps Server.

Se os nomes de conta forem iguais em ambos os domínios e a única diferença for o nome de domínio, você poderá usar o modo de lote de Identidades TFSConfig para alterar todas as identidades de uma só vez. Caso contrário, você deve alterar as identidades individualmente e especificar um nome de conta de destino diferente, conforme detalhado abaixo.

  1. No servidor da camada de aplicativo do 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 alterar as IDs de serviço (SIDs) da conta de serviço para o novo domínio:

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

    Aviso

    Se sua conta de serviço fosse uma conta do sistema, como o Serviço de Rede, você não poderá migrar diretamente a conta de serviço, pois existe uma conta do sistema com o mesmo nome no novo ambiente. Você precisará executar uma alteração de processo de dois estágios. Consulte o exemplo no Comando Identidades.

  2. Para migrar todas as contas que têm o mesmo nome no novo ambiente, digite o seguinte comando:

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

    Isso processará em lote as contas.

  3. se você for novo domínio contiver uma ou mais identidades em que o nome muda entre ambientes, você precisará atualizar manualmente os SIDs para cada uma dessas identidades. Por exemplo, se a conta de usuário da Christie Church fosse Fabrikam\CChurch no ambiente anterior, mas for NewFabrikam\ChristieC no novo ambiente, você teria que atualizar manualmente seu SID. Para cada conta que tenha esse requisito, digite o seguinte comando:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
    
  4. Agora, execute o seguinte comando para atualizar a conta de serviço:

    TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
    
  5. Se a implantação usar relatórios, execute o seguinte comando para atualizar a conta de fonte de dados usada para relatórios:

    TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
    
  6. Se a implantação usar o Servidor Proxy do Azure DevOps, execute o seguinte comando para atualizar a conta de serviço usada para o proxy:

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

    Observação

    Se você estiver migrando para um domínio não confiável, talvez também precise adicionar manualmente usuários e grupos a equipes, projetos, coleções e Azure DevOps Server a si mesmo. 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 Azure DevOps Server.

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

Configurar o Reporting Services e o Analysis Services

Você poderá ignorar esse procedimento se não estiver usando relatórios como parte de sua implantação.

Se você renomeou um servidor de relatório como parte desse tipo de movimentação, deverá redirecionar Azure DevOps Server para o servidor de relatório em seu novo local. Você também deve reiniciar o warehouse e recompilar manualmente o banco de dados para o Analysis Services.

  1. Abra o console de administração do Azure DevOps, acesse o nó Relatório e edite as configurações.

    Os relatórios ainda apontam para o servidor antigo

  2. Altere os valores nas três guias para que incluam o novo nome do servidor. Certifique-se de fornecer as informações corretas para a conta de fontes de dados no novo ambiente.

    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.

Configurar backups

Se o nome do compartilhamento de rede ou o dispositivo de armazenamento tiver sido alterado com a alteração do nome de domínio, você precisará atualizar o plano de backup agendado para apontar para esses recursos renomeados.

  • 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.

Reiniciar serviços

Agora que você atualizou Azure DevOps Server com todas as informações do novo ambiente, reinicie os serviços.

  1. No computador da camada de aplicativo Azure DevOps Server, 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 :

    Unquiesce TFSServiceControl

Perguntas e Respostas

P: Quero alterar o servidor físico ou servidores para minha implantação, não domínios. Posso fazer isso?

R: Sim. Isso é chamado de movimentação baseada em hardware e as etapas são fornecidas em Mover ou clonar de um hardware para outro. 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.