Azure DevOps 온-프레미스에 대해 한 환경에서 다른 환경으로 이동

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

가장 일반적인 환경 기반 이동 시나리오는 도메인 이름 변경이든 작업 그룹에서 도메인으로 이동하든 관계없이 Azure DevOps Server 배포의 도메인을 변경하는 것입니다.

중요

경우에 따라 Azure DevOps Server 배포의 도메인과 해당 하드웨어를 변경할 수 있습니다. 하드웨어 변경은 복원 기반 이동이며, 두 이동 형식을 함께 사용할 수는 없습니다. 먼저 하드웨어 이동을 완료한 다음 환경을 변경합니다.

또한 환경 이동의 일환으로 Azure DevOps Server ID를 변경하는 것은 가장 자주 충돌이나 문제를 일으키는 측면입니다. ID 명령은 강력한 도구이지만 특정 제한 사항이 있습니다. 이동 계획 시 이 점을 고려해야 합니다. 이동 작업을 성공적으로 완료하려면 다음 요구 사항을 이해해야 합니다.

  • 사용자 계정이 Azure DevOps Server 있으면 제거하거나 다른 계정을 매핑할 수 없습니다. 예를 들어 DomainA/UserA를 DomainB/UserB로 이동하는 경우 Identities 명령은 DomainB/UserB가 아직 Azure DevOps Server 없는 경우에만 사용자를 마이그레이션합니다.
  • 로컬 관리자 그룹의 구성원이 Azure DevOps Server 자동으로 추가되므로 도메인 또는 환경을 변경하기 전에 해당 그룹에서 마이그레이션하려는 계정을 제거해야 합니다.

자세한 배경 정보는 도구의 제한 사항을 포함하여 Azure DevOps Server ID가 작동하는 방식에 대한 자세한 설명을 보려면 여기를 참조하세요.

다음 섹션에서는 Azure DevOps Server 배포의 환경을 변경하는 단계를 안내합니다.

  1. 사용 권한 및 계정 확인
  2. Azure DevOps Server 서비스 중지
  3. 데이터 백업
  4. 새 도메인에 Azure DevOps Server 조인
  5. 사용자 및 서비스 계정 Azure DevOps Server 이동
  6. Reporting and Analysis Services 구성
  7. Azure DevOps Server 서비스 다시 시작

사용 권한 및 계정 확인

Azure DevOps Server 환경을 성공적으로 변경하려면 로컬 컴퓨터뿐만 아니라 Azure DevOps Server 및 배포가 종속된 모든 소프트웨어(SQL Server, 보고 및 배포가 상호 운용하는 기타 소프트웨어(예: Project Server)의 관리자여야 합니다. 그러나 로컬 관리자 그룹의 모든 멤버는 Azure DevOps Server 자동으로 포함되며, 이로 인해 계정을 마이그레이션하려고 할 때 문제가 발생할 수 있습니다. 따라서 환경 이동 중에는 마이그레이션하지 않을 계정을 사용해야 합니다. 이동만을 위한 특수 관리 계정을 추가하고 해당 계정을 사용하여 마이그레이션을 수행하는 것이 좋습니다.

관리자 수준의 권한을 확인하려면

  • 사용 중인 계정이 다음 그룹의 멤버인지 확인합니다.
    • 서버: Administrators(로컬 Administrators 그룹 또는 동등 수준 그룹)
    • Azure DevOps Server: Team Foundation 관리자 및 관리 콘솔 사용자
    • SQL Server: sysadmin

이러한 그룹 중 하나 이상의 구성원이 아닌 경우 지금 사용 권한을 가져옵니다.

필요한 모든 권한을 가진 계정을 사용 중인 경우에는 이동하려는 환경에서 충돌하는 이름 또는 그룹이 있는지 확인해야 합니다. 로컬 Administrators 그룹의 멤버인 계정은 마이그레이션할 수 없으므로 먼저 제거합니다.

로컬 Administrators 그룹에서 마이그레이션할 계정 제거

  • 로컬 Administrators 그룹을 열고 새로운 환경으로 마이그레이션할 계정을 제거합니다. 해당하는 다른 모든 그룹에 대해 이 단계를 반복합니다.

이제 현재 Azure DevOps Server 환경에서 ID 목록을 검사 새 환경에 있을 수 있는 그룹 또는 개별 사용자 계정의 잠재적인 문제를 찾습니다.

환경 이동 중 자동으로 마이그레이션되지 않는 계정 정보를 비롯하여 이동할 ID에 대한 테이블이나 마이그레이션 맵을 만들 수 있습니다.

ID 확인

  1. Azure DevOps용 애플리케이션 계층 서버에서 관리 권한이 있는 명령 프롬프트 창을 열고 %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools로 이동한 후 다음 명령을 실행하여 현재 시스템에 있는 ID를 확인합니다.

    TFSConfig Identities
    
  2. ID 목록이 표시됩니다. 이러한 사용자 및 그룹을 확인하여 Azure DevOps Server 이동할 환경에서 ID에 대한 잠재적 중복 또는 문제가 없는지 확인하고 잠재적 충돌을 완화하기 위한 조치를 취합니다.

서비스 중지

서비스를 중지하면 사용자가 이동 프로세스 중이나 후에 작업 항목을 변경하거나 원래 배포에 소스 코드를 체크 인 할 수 없습니다.

  1. 애플리케이션 계층 컴퓨터에서 명령 프롬프트 창을 열고 디렉터리를 Drive:\%programfiles%\TFS 12.0\Tools로 변경합니다.

  2. 다음 TFSServiceControl 명령을 입력합니다.

    TFSServiceControl 정지

데이터베이스 및 SQL Server Reporting Services 암호화 키 백업

  1. Azure DevOps Server 관리 콘솔을 열고 예약된 백업 페이지에서 전체 백업을 수행합니다. 백업을 수행하면 백업 계획에서 백업에 대해 구성된 모든 항목이 백업되지만 이 백업은 계획에서 예약된 시간이 아니라 즉시 수행됩니다. 배포에서 보고를 사용하는 경우 이 백업 집합의 일부로 암호화 키를 백업할 수 있습니다.

    작업이 종료되는 동안 창을 닫을 수 있습니다.

    (구성된 백업이 없는 경우 전체 백업을 수행하려면 계획을 만들어야 합니다.)

  2. 백업이 완료되면 저장 장치 또는 네트워크 공유에서 백업을 사용할 수 있고 새 하드웨어에서 이 백업에 액세스할 수 있는지 확인합니다.

애플리케이션 계층 서버를 새 도메인에 조인

  1. 각 서버에서 컴퓨터 속성을 엽니다.

  2. 서버를 조인하려는 작업 그룹 또는 도메인으로 컴퓨터 설정을 변경합니다.

    이 컴퓨터를 도메인에 조인하는 데 필요한 권한이 있는 계정의 사용자 이름과 암호를 입력하라는 메시지가 나타나면 적절한 자격 증명을 제공합니다.

  3. 컴퓨터를 다시 시작하여 도메인 변경 사항을 적용합니다.

    참고

    컴퓨터를 다시 시작하면 서비스 또는 드라이버를 시작할 수 없다는 경고 메시지가 나타날 수 있습니다. 다음 절차를 계속 진행합니다.

사용자 계정 및 서비스 계정 이동

이 항목의 시작 부분에서 언급했듯이 계정을 이동할 때 많은 문제가 발생할 수 있으며 특히 신중한 계획 없이 사용자를 마이그레이션하는 경우 더욱 그렇습니다. TFSConfig Identities 명령은 Azure DevOps Server 이미 있는 계정으로 계정을 마이그레이션할 수 없습니다.

계정 이름이 두 도메인에서 동일하고 도메인 이름만 다른 경우에는 TFSConfig Identities의 일괄 처리 모드를 사용하여 모든 ID를 한 번에 변경할 수 있습니다. 그렇지 않은 경우 개별적으로 ID를 변경하고 아래 설명에 따라 다른 대상 계정 이름을 지정해야 합니다.

  1. Azure DevOps용 애플리케이션 계층 서버에서 관리 권한이 있는 명령 프롬프트 창을 열고 %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools로 이동한 다음 다음 명령을 실행하여 서비스 계정의 SID(서비스 ID)를 새 도메인으로 변경합니다.

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

    경고

    서비스 계정이 Network Service와 같이 시스템 계정인 경우에는 새 환경에 동일한 이름의 시스템 계정이 존재하기 때문에 직접 마이그레이션할 수 없습니다. 2단계 변경 작업을 수행해야 합니다. ID 명령의 예제를 참조하세요.

  2. 새 환경에서 동일한 이름을 가진 모든 계정을 마이그레이션하려면 다음 명령을 입력합니다.

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

    이렇게 하면 계정이 일괄 처리됩니다.

  3. 새 도메인에 환경 간에 이름이 변경되는 ID가 하나 이상 포함된 경우 각 ID에 대해 SID를 수동으로 업데이트해야 합니다. 예를 들어 Christie Church의 사용자 계정이 이전 환경에서는 Fabrikam\CChurch이었지만 새 환경에서는 NewFabrikam\ChristieC로 변경된 경우 SID를 수동으로 업데이트해야 합니다. 이러한 작업이 필요한 모든 계정에 대해 다음 명령을 입력합니다.

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
    
  4. 이제 다음 명령을 실행하여 서비스 계정을 업데이트합니다.

    TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
    
  5. 배포에서 보고를 사용하는 경우 다음 명령을 실행하여 보고에 사용되는 데이터 소스 계정을 업데이트합니다.

    TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
    
  6. 배포에서 Azure DevOps 프록시 서버를 사용하는 경우 다음 명령을 실행하여 프록시에 사용되는 서비스 계정을 업데이트합니다.

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

    참고

    신뢰할 수 없는 도메인으로 이동하는 경우 팀, 프로젝트, 컬렉션 및 Azure DevOps Server 자체에 사용자 및 그룹을 수동으로 추가해야 할 수도 있습니다. 자세한 내용은 프로젝트에 사용자 추가, 프로젝트컬렉션에 대한 관리자 권한 설정Azure DevOps Server 대한 관리자 권한 설정을 참조하세요.

  7. 배포가 Project Server와 통합되는 경우 추가 단계를 수행하여 작동하는 데 필요한 권한으로 서비스 계정을 구성해야 할 수도 있습니다. 자세한 내용은 TFS-Project Server 통합 및 ConfigureTFS-Project Server 통합을 지원하기 위한 권한 할당을 참조하세요.

보고 및 Analysis Services 구성

보고 기능을 배포의 일부로 사용하지 않는 경우 이 절차를 건너뛸 수 있습니다.

이러한 유형의 이동의 일부로 보고서 서버의 이름을 바꾼 경우 Azure DevOps Server 새 위치의 보고서 서버로 리디렉션해야 합니다. 또한 웨어하우스를 다시 시작하고 Analysis Services의 데이터베이스를 수동으로 다시 빌드해야 합니다.

  1. Azure DevOps에 대한 관리 콘솔을 열고 보고 노드로 이동하여 설정을 편집합니다.

    보고서가 아직도 이전 서버를 가리키고 있음

  2. 서버의 새 이름이 포함되도록 3개의 탭 모두에서 값을 변경합니다. 새 환경에서 데이터 소스 계정에 대한 올바른 정보를 제공하고 있는지 확인하십시오.

    탭 3개의 정보가 모두 정확한지 확인

  3. 작업 시작을 선택하여 보고를 다시 시작합니다 .

  4. 다시 빌드 시작을 선택하여 웨어하우스를 다시 빌드합니다.

백업 구성

도메인 이름 변경으로 네트워크 공유 이름 또는 저장 장치가 변경된 경우 이렇게 이름이 변경된 리소스를 가리키도록 예약된 백업 계획을 업데이트해야 합니다.

  • 관리 콘솔에서 예약된 백업 노드로 이동하여 예약된 백업을 다시 구성하여 새 서버에서 Azure DevOps Server 데이터베이스를 백업합니다. 자세한 내용은 백업 일정 및 계획 Create 참조하세요.

서비스 다시 시작

이제 새 환경에 대한 모든 정보로 Azure DevOps Server 업데이트했으므로 서비스를 다시 시작합니다.

  1. Azure DevOps Server 애플리케이션 계층 컴퓨터에서 관리 권한이 있는 명령 프롬프트 창을 열고 디렉터리를 Drive:\%programfiles%\TFS 12.0\Tools로 변경합니다.

  2. 다음 TFSServiceControl 명령을 입력합니다.

    TFSServiceControl unquiesce

Q & A

Q: 도메인이 아닌 배포의 물리적 서버를 변경하려고 합니다. 이것은 가능한가요?

A: 예. 이를 하드웨어 기반 이동이라고 하며 한 하드웨어에서 다른 하드웨어로 이동 또는 복제에 단계가 제공됩니다. 환경 기반 이동을 하드웨어 기반 이동과 함께 사용하지 않도록 해야 합니다. 먼저 하드웨어 이동을 완료한 다음 환경을 변경합니다.