프리 프로덕션 환경에서 업그레이드를 예행 연습

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015

참고

Azure DevOps Server의 이전 이름은 Visual Studio Team Foundation Server였습니다.

필요 한가요?

프리 프로덕션 환경에서 업그레이드를 실행 하는 것이 좋지만 항상 적절 한 것은 아닙니다. 사전 프로덕션 업그레이드를 수행할지 여부를 debating 하는 경우에는이 작업을 수행 하지 않는 비용에 대비 하 여 비용을 평가 합니다. 특히, 프로덕션 업그레이드에 문제가 발생 하는 경우 기본 비용은 TFS의 이전 버전으로 롤백하는 동안 가동 중지 시간이 됩니다. 업그레이드의 세부 사항에 따라 빠르고 간단 하 게 처리할 수 있습니다. 또는 매우 긴 시간이 소요 되며 많은 부분이 이동 하 게 됩니다. 업그레이드를 사용 하는 것과 마찬가지로, 롤백의 복잡성은 데이터베이스의 크기, 관련 된 컴퓨터 수 등에 따라 달라 집니다.

기본 사항

사전 프로덕션 업그레이드를 사용 하 여 앞으로 이동 하기로 결정 한 경우 일반 프로세스는 다음과 같이 구성 됩니다.

  1. 프로덕션 환경과 유사한 프리 프로덕션 환경을 준비 합니다.
  2. 프로덕션 환경 보호
  3. 백업에서 데이터베이스를 복원 하는 중입니다.
  4. 업그레이드 하는 중입니다.

환경 준비

이상적인 세계에서 프리 프로덕션 환경은 프로덕션 환경과 정확히 일치 하는 것으로 보입니다. 이러한 방식으로 업그레이드 하는 데 걸리는 시간을 정확 하 게 파악 하는 것과 같은 방법으로 문제를 발생 시킬 수 있습니다. 그러나 실제로는이 방법이 항상 가능 하거나 바람직한 것은 아닙니다. 이 제품은 예를 들어 SharePoint 통합 기능을 복제 하는 것을 지원 하지 않습니다. 사전 프로덕션 테스트에 대해 동일한 컴퓨터의 두 번째 집합을 프로 비전 하는 비용은 매우 높을 수 있습니다. 이러한 불일치를 dissuade는 안 됩니다. 하지만 거의 모든 프리 프로덕션 환경은 아무것도 아닙니다.

프로덕션 보호

TFS 데이터베이스에는 배포 환경에서 다양 한 리소스를 가리키는 여러 설정이 포함 되어 있습니다. 예를 들어 컬렉션 데이터베이스 연결 문자열은 예약 된 백업 기능에서 사용 되는 네트워크 공유와 마찬가지로 구성 데이터베이스에 저장 됩니다. 따라서 사전 프로덕션 환경에서 프로덕션 환경에서 문제를 일으킬 수 있으므로이 문제를 방지 하기 위한 단계를 수행 하기 위해 프리 프로덕션 환경을 강화할 때 모범 사례입니다.

가장 중요 한 단계는 프로덕션 환경에 대 한 권한이 없는 프리 프로덕션 환경에서 서비스 계정을 사용 하는 것입니다. 이상적으로는 TFS, SQL, 네트워크 공유 등에 대 한 권한이 없어야 합니다. 이러한 옵션에는 아래 예제와 같이 네트워크 서비스 (사전 프로덕션 컴퓨터 계정에 프로덕션에서 사용 권한이 필요 하지 않은 경우) 또는 전용 사전 프로덕션 도메인 계정이 포함 됩니다.

예제 사전 프로덕션 서비스 계정

또 다른 선택적인 단계는 사전 프로덕션 컴퓨터의 호스트 파일에 항목을 추가 하 여 프로덕션 컴퓨터 이름을 잘못 된 IP 주소에 매핑하는 것입니다. 호스트 파일이 무엇 인지 확실 하지 않은 경우 여기 에서 위키백과 항목을 참조 하세요. 이렇게 하면 프리 프로덕션 컴퓨터에서 프로덕션 컴퓨터로의 아웃 바운드 통신을 방지할 수 있습니다.

예제는 AT 및 DT의 파일 리디렉션을 호스팅합니다.

데이터베이스 복원

예약 된 백업 마법사 를 사용 하 여 프로덕션 배포에서 데이터베이스 백업을 생성 하는 경우이를 사용 하 여 사전 프로덕션 배포에서 백업을 복원할 수도 있습니다. 그렇지 않은 경우에는 물론 표준 SQL 절차에 따라 백업을 복원할 수 있습니다. 백업 및 복원에 대 한 데이터베이스 목록에는 항상 구성 데이터베이스와 모든 컬렉션 데이터베이스가 포함 되어야 합니다. 프리 프로덕션 환경에 보고 기능을 포함 하는 경우 웨어하우스 및 보고서 서버 데이터베이스도 포함 해야 합니다.

업그레이드 수행

응용 프로그램 계층 컴퓨터에 새 버전의 TFS를 설치 합니다. 업그레이드 마법사를 실행 하기 전에 ChangeServerId 명령을실행 합니다. 이렇게 하면 동일한 클라이언트에서 프로덕션 환경과 프리 프로덕션 환경에 모두 액세스 하는 경우에는 문제가 발생 하지 않으며 컬렉션 또는 전체 배포 중 하나를 복제 하는 경우 언제 든 지이 작업을 수행 해야 합니다.

준비가 되 면 프로덕션 업그레이드에 사용 하는 것과 동일한 단계를 사용 하 여 프리 프로덕션 환경을 업그레이드 합니다. 프로덕션 환경에서 권한이 없는 서비스 계정을 사용 해야 합니다.

새 기능 구성

일부 업그레이드에서는 기존 프로젝트에 대 한 변경 내용을 처리 하기 때문에를 구성 하는 추가 단계를 수행 하는 새로운 기능이 도입 되었습니다. 프로젝트의 세부 사항 및 업그레이드 하는 TFS 버전에 따라이 작업이 더 복잡 하거나 복잡할 수 있습니다. 자세한 내용은 여기를 참조하세요.

작업 수행

시험판으로 사전 프로덕션 서버를 사용 합니다. 약간 Poke 새 기능을 사용해 보세요. 빌드 실행과 같은 일부 작업에는 몇 가지 추가 구성이 필요 합니다.

문제가 발견 되 면 여기에서 작업을 수행 하 여 프로덕션 환경에서 다시 적중 하지 않도록 합니다. 만족 스 러 우면 하루에 호출 하 고 프로덕션 업그레이드로 이동 합니다.