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