팀 프로젝트 컬렉션을 사용하여 서버 구성
팀 프로젝트를 함께 그룹으로 묶고 동일한 리소스를 할당하여 팀 프로젝트를 더 효율적으로 관리할 수 있습니다.예를 들어 특정 코드베이스에 관련된 모든 프로젝트 같이 요구 사항이나 목표가 비슷한 프로젝트를 그룹으로 묶을 수 있습니다.그런 다음 고유한 사용자 그룹, 서버 리소스 및 유지 관리 일정을 지정하여 해당 그룹을 자율적 리소스로 관리할 수 있습니다.Team Foundation Server(TFS),에서 팀 프로젝트 컬렉션이라는 하나 이상의 구성 단위로 팀 프로젝트를 함께 그룹화할 수 있습니다.팀 프로젝트 컬렉션은 TFS 내에서 팀 프로젝트 그룹을 정의하고 통제하기 위해 사용하는 구성용 구조체다.컬렉션을 만들 때는 해당 컬렉션 내의 팀 프로젝트에서 사용할 수 있는 논리적 리소스와 물리적 리소스를 지정해야 합니다.해당 프로젝트에 사용되는 모든 아티팩트와 데이터는 컬렉션의 단일 데이터베이스에 저장됩니다.
팀 프로젝트 컬렉션을 사용하면 서버 관리자에게 다음과 같은 이점이 있습니다.
각 컬렉션의 모든 프로젝트에 대한 모든 데이터가 데이터베이스 하나에 저장됩니다.관리자가 다른 컬렉션에 상관없이 이 데이터베이스를 백업하고 복원할 수 있습니다.관리자는 팀 프로젝트 컬렉션을 분리하고 백업한 다음 다른 TFS 배포로 복원할 수도 있습니다.
개발 작업에 필요한 리소스를 관리자가 유연하게 관리할 수 있습니다.컬렉션 내의 프로젝트 요구 사항에 더 적합한 리소스를 쉽게 다시 할당할 수 있습니다.
팀 프로젝트 컬렉션을 사용하면 프로젝트 관리자에게 다음과 같은 이점이 있습니다.
보고서, 작업 항목, 프로세스 지침 및 코드베이스를 공유할 수 있는 관련 프로젝트를 그룹으로 묶을 수 있습니다.
컬렉션 내의 프로젝트 요구 사항에 따라 자율적 코드베이스를 빌드, 분기, 병합 및 반복할 수 있습니다.컬렉션 외부의 코드 종속성을 체계적으로 관리할 수 있습니다.
여러 컬렉션을 만드는 경우 해당 컬렉션의 모든 데이터베이스를 SQL Server의 단일 인스턴스에 저장할 수도 있고 데이터베이스를 하나 이상의 인스턴스에 걸쳐 분산 배치할 수도 있습니다.
다음 그림에서는 TFS의 논리적 아키텍처에 팀 프로젝트 컬렉션의 데이터베이스가 통합되는 방식을 보여 줍니다.
TFS를 설치할 때 모든 팀 프로젝트가 포함되는 기본 컬렉션을 만들거나 컬렉션 만들기를 나중으로 미룰 수 있습니다.그러나 팀 프로젝트를 만들기 위해서는 적어도 한 개 이상의 컬렉션을 먼저 만들어야 합니다.모든 프로젝트는 컬렉션 내에 만들어야 합니다.
TFS를 기존 버전에서 업그레이드하는 경우 기본 컬렉션이 만들어지고 기존의 모든 프로젝트가 해당 컬렉션에 저장됩니다.설치 또는 업그레이드를 완료한 후 조직의 요구 사항에 맞춰 컬렉션을 추가로 만들 수 있습니다.또한 배포에서 개별 팀 프로젝트 컬렉션을 분리하여 선택적으로 업그레이드하고, 데이터베이스를 백업하며, 현재 버전의 TFS를 실행하는 배포로 복원한 다음, 구성 기능 마법사를 사용하여 TFS 2012의 기능을 해당 컬렉션의 프로젝트에 추가할 수 있습니다.자세한 내용은 Move a Team Project Collection 및 업그레이드된 팀 프로젝트가 새 기능에 액세스할 수 있도록 업데이트을 참조하십시오.
팀 프로젝트 컬렉션을 여러 개 만들 때의 이점
여러 개의 컬렉션을 만들면 특정 코드베이스나 기타 프로젝트 그룹에 대한 작업 요구 사항을 다른 그룹에 대한 작업 요구 사항으로부터 구분하는 데 도움이 될 수 있습니다.각 컬렉션의 데이터가 자체 데이터베이스에 저장되므로 배포의 다른 컬렉션과는 별도로 각 컬렉션의 다양한 측면을 독립적으로 관리할 수 있습니다.예를 들어 각 컬렉션을 개별적으로 중지 및 시작할 수 있습니다.따라서 각 컬렉션의 유지 관리 작업을 각기 다른 시간에 진행하도록 일정을 예약할 수 있습니다.
각 컬렉션마다 고유한 사용자 및 권한 집합이 있으므로 각기 다른 컬렉션의 코드베이스를 서로 격리하여 작업의 보안을 강화할 수 있습니다.그런 다음 특정 코드베이스에 관련된 하나 이상의 프로젝트를 포함하는 컬렉션에만 사용자를 추가할 수 있습니다.
팀 프로젝트 컬렉션을 여러 개 만들 때의 단점
여러 개의 컬렉션을 만들면 TFS 배포 환경이 더 복잡해집니다.각 컬렉션의 데이터베이스를 개별적으로 백업 및 복원해야 할 뿐만 아니라 컬렉션의 수에 비례하여 기타 유지 관리 작업의 양도 많아집니다.예를 들어 각 팀 프로젝트 컬렉션에 대한 사용자 및 권한 집합을 개별적으로 관리해야 합니다.
여러 개의 컬렉션을 만들지 여부를 결정할 때는 다음과 같은 사실도 고려해야 합니다.
컬렉션 사이에 작업 항목을 연결할 수 없습니다.
컬렉션 사이에 코드를 분기하거나 병합할 수 없습니다.
컬렉션 사이에 쿼리를 만들 수 없습니다.
동일한 컬렉션 내의 팀 프로젝트 사이에는 이러한 기능을 모두 수행할 수 있습니다.코드를 분기 및 병합하는 기능이 개발 작업에 도움이 되거나 동일한 코드와 관련된 작업 항목의 상태를 쿼리해야 하는 경우에는 프로젝트에 대한 팀 작업을 단일 컬렉션 내에서 진행하도록 통합하는 것이 더 나을 수 있습니다.
일반 작업
항목 |
설명 |
---|---|
팀 프로젝트 지원을 위한 리소스 구성: 서로 관련된 개발 프로젝트를 정리하고 지원하기 위한 팀 프로젝트 컬렉션을 하나 이상 만들 수 있습니다. |
|
기존 팀 프로젝트 컬렉션에 리소스 추가: 팀 프로젝트 컬렉션을 만든 후 SQL Server Reporting Services를 실행하는 서버나 SharePoint 웹 응용 프로그램을 해당 컬렉션에 추가할 수 있습니다. |
|
TFS의 다른 배포로 복원을 위해 팀 프로젝트 컬렉션 데이터베이스를 준비: 팀 프로젝트 컬렉션을 분리하여 모든 작업을 중지하고 컬렉션을 다른 배포에 연결하는 데 필요한 구성 데이터를 저장합니다.이동, 부분 업그레이드 또는 개별 팀 프로젝트 컬렉션의 복원을 준비하면서 데이터베이스를 백업하기 전에 이 작업을 수행합니다. |
|
팀 프로젝트 컬렉션의 위치 변경: 특정 Team Foundation Server 배포에서 다른 배포로 팀 프로젝트 컬렉션을 이동할 수 있습니다. |
|
팀 프로젝트 컬렉션에 포함된 프로젝트 다시 구성: 컬렉션을 분할한 다음 두 컬렉션에 포함된 프로젝트 집합이 중복되지 않도록 각 컬렉션에서 프로젝트를 삭제하여 컬렉션의 프로젝트 구성을 변경할 수 있습니다. |
|
팀 프로젝트 컬렉션 시작 또는 중지: 팀 프로젝트 컬렉션을 중지하고 이를 유지 관리하거나 Team Foundation Server에 필요한 기본 구성 요소를 업데이트할 수 있습니다. |
|
컬렉션에 포함된 팀 프로젝트의 리소스 변경: 컬렉션 내의 팀 프로젝트에 사용되는 리소스를 변경할 수 있습니다. 이러한 리소스로는 컬렉션의 프로젝트에 사용되는 웹 응용 프로그램 등이 있습니다.컬렉션 수준에서 사용자 권한 및 그룹을 변경할 수도 있습니다. |
|
팀 프로젝트 컬렉션 삭제: 활성화되어 있거나 유효한 프로젝트가 없는 컬렉션을 삭제하여 다른 팀 프로젝트 컬렉션에 사용할 리소스를 늘리고 배포를 간소화할 수 있습니다. |