TFS(팀서버)/TFS 운영

Team Foundation 개요

본클라쓰 2012. 1. 12. 08:57

 

팀 파운데이션(Team Foundation, 이하 TF)은 프로젝트를 완성하거나 제품을 빌드하는 데 필요한 작업을 팀에서 협력하여 수행하거나 역할 분담을 조장하기 위한 도구와 기술의 집합입니다.

 

문서 작성을 예를 들면 혼자 문서를 작성할 때는 자신의 PC에만 문서 파일을 저장하고 수정하면 됩니다. 하지만 팀을 구성하여 하나의 문서를 작성할 때는 서로의 문서를 비교하여 하나의 문서로 만드는 작업이 필요하게 됩니다.

 

TF는 이와 같은 문서 작업을 서버에서 공유하여 서로의 역할을 분담해 작업하는 것을 가능하게 해줍니다. TF을 사용하면 팀의 의사 소통을 원활히 하고, 작업 상태를 추적하고, 팀 역할을 지원하고, 팀 프로세스를 확립할 수 있습니다. TF의 목적은 팀에서 공동 작업을 통해 더 쉽게 제품을 빌드하고 수행할 수 있도록 하는데 있습니다.

 

TF의 핵심은 팀 파운데이션 서버(Team Foundation Server, 이하 TFS)에 있습니다.

 

 

 

 

팀 파운데이션 서버 (Team Foundation Server, 이하 TFS)

 

TFS는 소스제어, 작업 항목 추적, 빌드, 팀 프로젝트 포털 및 웹 사이트, 보고 및 프로젝트 관리 기능을 제공합니다.

 

논리적으로 서버는 응용 프로그램 계층 서버와 데이터 계층 서버 두 가지 요소로 구성됩니다. 응용 프로그램 계층 서버는 주로 웹 서비스로 구성되고, 데이터 계층 서버는 주로 SQL Server 2005 데이터베이스로 구성됩니다.   

 

[TFS의 논리적 구성]

 

응용 프로그램 계층 서버와 데이터 계층 서버는 물리적으로 단일 서버 또는 이중 서버로 배포할 수 있습니다. 단일 서버 구성의 경우 응용 프로그램 계층 및 데이터 계층의 서비스과 동일한 컴퓨터에 호스팅됩니다. 이중 서버의 경우는 하나는 응용 프로그램 계층 서버로 사용되고 다른 하느는 데이터 계층 서버로 사용됩니다.

 

모든 팀 프로젝튼 TFS를 통해 저장 및 관리됩니다. 팀 프로젝트 작업을 시작하려면 먼저 적절한 TFS에 연결해 주어야 합니다. 서버에 연결하려면 먼저 적절한 권한이 부여된 서버의 그룹 멤버가 되어야 합니다. 또는 사용자 계정을 서버에 직접 추가하고 프로젝트에 적합한 권한을 사용하여 계정을 구성할 수도 있습니다. TFS에는 권한이 없는 사용자는 연결할 수 없습니다.

 

 

 

 

팀 프로젝트 (Team Project)

 

 팀 프로젝트는 소프트웨어 응용 프로그램 개발 수명 주기 동안 사용되는 모든 개별 도구 및 요소를 포함하는 단일 인프라입니다.

 

개발과정에서 각 소프트웨어 응용 프로그램 또는 팀 프로젝트는 해당 팀 프로젝트만을 위한 고유한 네임스페이스로 가상적으로 그룹화됩니다. 간단히 말하면 개발과정에서 특정 소프트웨어 응용 프로그램에 관련된 모든 도구 및 아티펙트(소스 코드, 작업 항목 및 문서)를 다른 팀 프로젝트에서 액세스할 수 없도록 격리하는 컨테이너입니다.

 

팀 프로젝트는 제품을 개발하는 팀의 노력을 결집하는 중앙 개념으로 작업에 관련된 아티팩트의 가상적인 집합입니다. 팀 멤버는 팀 프로젝트라는 개념을 통해 팀 프로젝트와 관련이 없는 여러 아티팩트에 액세스하는 문제를 피할 수 있습니다. 만약 팀 프로젝트에 다른 아티팩트가 존재하면 혼돈이 초래되어 소프트웨어 개발 과정이 지연될 수 있습니다. 팀 프로젝트는 최소한의 도구 집합과 아티팩트로 구성됩니다.

 

팀 프로젝트는 최소환 프로세스 템플릿에 따라 팀 프로젝트를 만들었을 때 지정된 도구와 아티팩트의 집합으로 구성됩니다. 팀 프로젝트를 만드는 데 사용된 프로세스 템플릿에 따라 소스 제어 정책, 팀 프로젝트 보고 사이트 및 포털이 포함될 수 있습니다.

 

팀 프로젝트에는 다음과 같은 기능을 사용할 수 있습니다.

 

 

1. 프로세스 지침

 

프로세스 지침은 팀 프로젝트 작업에 참여하는 팀 멤버가 따라야 하는 프로세스를 문서화한 HTML 콘텐츠입니다. 팀 프로젝트 작업 항목, 보고서 및 쿼리는 모두 팀 프로젝트 수명 주기 동안 변경될 수 있으므로 팀 프로젝트마다 다를 수 있습니다. 프로세스 지침은 작업 항목 필드를 완성하는 방법, 정상 보고서와 비정상 보고서 예제 및 쿼리에 대한 설명 등 팀 프로젝트에 대한 자세한 정보를 제공합니다. 또한 프로세스 지침에서는 담당자 역할 및 완료할 작업 등 팀 프로젝트에서 따라아야 하는 프로세스에 대해 자세히 설명

할 수 있습니다.

 

프로세스 지침은 모든 콘텐츠가 프로젝트 포털에 저장되므로 각 팀 프로젝트에서는 서로 다른 프로세스 및 프로세스 지침을 사용할 수 있습니다.

 

 

2. 작업 항목

 

작업 항목을 프로젝트를 완료하는 데 필요한 개별 작업 중 하나, 수정해야 할 버그, 프로젝트에서 처리해야 할 고객 시나리오, 데이터베이스에서 추적해야 할 프로젝트의 다른 작업 등이 될 수 있습니다. 팀에서는 작업 항목 형식 정의를 통해 특정 프로젝트에서 사용할 수 있는 작업 항목의 형식을 프로젝트 개발 요구 사항에 맞도록 사용자 지정할 수 있습니다.

 

 

3. 버전 제어

 

팀에서 작업 중인 소스 코드, 문서, 작업 항목 및 기타 중요한 정보를 개발하는 동안 TF 버전 제어를 사용하면 여러 수정 버전을 관리할 수 있습니다.