태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

TFS SQL 서버를 기반으로 통합 저장소(Repository)이다. 개발 팀이 효과적인 협업을 하기 위한 가장 핵심이 되는 도구라 있다. 곳에는 소스 코드, 산출물, 개발 활동 개발 팀의 소프트웨어 개발 활동과 관련된 모든 정보를 저장하게 된다.

개발 팀은 탐색기, Web Access, MS 프로젝트, MS 엑셀과 같은 TFS 클라이언트를 통해 TFS 정보를 저장하거나 TFS 정보를 공유하게 된다.

VSTS 2008에서는 TFS 어떤 점들이 달라졌는지 주요 기능 위주로 살펴보도록 하겠다.

 

소스 제어

Team Foundation 소스 제어는 기존의 Visual SourceSafe (이하 VSS)와는 별개의 버전 관리 도구이다. TF 소스 제어와 VSS와의 차이점을 아키텍처 측면에서 비교하면 다음과 같다.

 

항목

TF 소스 제어

VSS

저장 방식

SQL 서버 데이터베이스에 저장

공유 네트워크 폴더에 저장

보안 권한

Windows 사용자 계정과 연계되며, 사용자별 작업 권한 프로젝트 수준의 액세스 권한 설정 가능

VSS 사용자 권한은 Windows 권한과 독립적

VSS 데이터베이스 폴더에 대해 동일한 권한 부여

안정성

저장 프로시저를 통해 데이터베이스 안에서 쓰기 작업이 트랜잭션으로 수행 à 안정성 향상

서버 구성 요소가 없어 작업이 트랜잭션으로 수행 à 안정성 저하

확장성

5 ~ 4,000 이상의 대규모 팀에 적합

개인 혹은 5 미만의 소규모 팀에 적합

<2> Team Foundation 소스 제어와 Visual SourceSafe와의 비교

 

VSTS 2008에서 추가된 기능은 다음과 같다.

l  제거

TF 소스 제어에서 파일 또는 폴더를 삭제하는 방법은 소스 제어 탐색기에서 삭제명령을 사용하거나, 커맨드 라인에서 ‘tf delete’ 명령을 사용하는 것이다. 그러나, 명령은 TF 소스 제어에서 파일 또는 폴더를 영구히 삭제하는 것은 아니다.

그렇다면, TF 소스 제어에 있는 파일 바이러스에 감염된 파일이 있다거나, 애플리케이션이 폐기되어 이상 관리할 필요가 없는 파일이 있을 경우 처럼, 파일을 TF 소스 제어에서 영구히 삭제해야 필요가 있을 때는 어떻게 해야 할까?

VSTS 2005에서는 그렇게 있는 방법이 없었다. 그러나, VSTS 2008에는 ‘tf destroy’ 명령이 새로 추가되어, 명령으로 삭제한 파일 폴더는 TF 소스 제어에서 영구히 삭제된다. 다음은 tf destroy 명령에 대한 예이다.

<박스>

C:\preview\ws1>tf destroy /preview /i $/proj/preview/a.cs

The following pending changes will be deleted by destroying '$/proj/preview/a.cs':

File name Change User                       Local path

-------------- ---------- --------------------------------------- --------------------------

$/proj/preview

a.cs      edit   U                          CWD\preview\ws2\a.cs

a.cs      edit   CN\hatusr01                CWD\preview\other-ws1\a.cs

 

The following shelved changes will be deleted by destroying '$/proj/preview/a.cs':

 

File name Change User                       Shelveset

-------------- ---------- --------------------------------------- --------------------------

$/proj/preview

a.cs      edit   U                          Shelveset1

a.cs      edit   CN\hatusr01                Shelveset2

 

Destroyed: $/proj/preview/a.cs;C81

 

l  체크 아웃 최신 버전 가져오기

TF 소스 제어의 체크 아웃은 기본적으로 로컬 버전의 항목을 체크 아웃한다. 만약, TF 소스 제어에 버전이 있더라도 가져오지 않는다.

VSTS 2008에는 체크 아웃할 때마다 TF 소스 제어에 있는 최신 버전을 가져오도록 구성할 있는 기능이 추가되었다. 기능을 사용할 경우, 먼저 TF 소스 제어에 있는 최신 버전을 가져온 , 체크 아웃한다.

VSS 환경에 익숙한 개발자들이라면 기능을 사용하여 체크 아웃하는 것이 편리할 것이다.

기능은 탐색기에서 개발 전체를 대상으로 구성할 있으며, 도구 옵션에서 개발자 컴퓨터에 대해서만 구성할 수도 있다.

 

l  주석

소스 코드에 주석을 추가하여 라인 별로 소스 코드의 변경 내역을 확인할 있는 기능이 추가되었다. 아래 그림에서 보는 바와 같이 주석 기능을 사용하여 소스 코드에 주석을 추가하면, 소스 코드 좌측에 라인 별로 언제, 누가, 무엇을 변경했는지 확인할 있고, 이전 변경 집합과 비교하는 기능도 있다.

주석

소스 코드 주석



개발자들은 기능을 이용하여 자신이 언제 어떤 소스 코드를 수정했는지 추적이 가능하고, 현재의 소스 코드를 과거 버전으로 회귀시킬 , 어떤 버전으로 회귀시켜야 하는지 쉽게 파악할 있다.

 

l  폴더 비교

2 개의 소스 제어 폴더, 2 개의 로컬 폴더, 또는 소스 제어 폴더와 로컬 폴더를 비교할 있는 기능이 추가되었다. VSTS 2005에는 파일 비교만 가능했다.

기능을 사용하여 폴더를 비교하면 폴더의 있는 파일 어떤 파일이 서로 다른지 확인 있다. 차이가 있는 파일을 선택하여 파일 간의 다른 부분을 상세히 파악할 수도 있다.


폴더 비교

폴더 및 파일 비교


팀 빌드

빌드는 일련의 통합 빌드 과정을 자동으로 수행하는 기능을 제공한다. 개발자가 TF 소스 제어에 체크 인한 소스 코드 빌드 정의 지정된 파일을 Team Foundation 빌드 서버로 가져와 빌드하고, 빌드 결과 만들어진 바이너리 파일(.dll, .exe ) 네트워크 상에 있는 다른 머신(machine)으로 배포하며, 빌드 과정에 대한 정보를 TFS 저장하는 과정을 자동으로 수행한다.

 

VSTS 2008에서 추가된 기능은 다음과 같다.

l  빌드 정의

VSTS 2005에서의 빌드 형식(Build Type)’ VSTS 2008에서는 빌드 정의(Build Definition)’ 이름이 변경되었다. 그리고, VSTS 2005에서는 빌드 형식 변경하기 위해서는 MSBuild 형식으로 작성된 TFSBuild.proj 파일을 직접 편집해야 했는데, VSTS 2008에서는 빌드 정의 변경할 있는 화면이 추가되어 빌드 관리자가 빌드 정의 관리하는데 편리해졌다.


빌드 정의

빌드 정의


l  빌드 에이전트

Team Foundation 빌드가 설치된 컴퓨터를 빌드 에이전트로 지정할 있다. , Team Foundation 빌드가 설치된 컴퓨터를 여러 빌드 에이전트로 지정할 수는 없다. 빌드 에이전트는 TFS 애플리케이션 계층에 연결되는데, 하나의 애플리케이션 계층에 여러 빌드 에이전트가 연결될 있다. , 빌드 에이전트는 하나의 포트 (기본값 9191, 포트 번호 변경 가능)에만 연결할 있다.

빌드 정의 생성하기 위해서는 적어도 하나의 빌드 에이전트가 정의되어 있어야 한다.

이전에는 빌드를 정의할 , 빌드 서버로 TF 빌드가 설치된 컴퓨터 이름만 사용할 있었기 때문에, 빌드의 목적에 맞는 이름으로 명명할 수가 없었다. 그러나, 빌드 에이전트는 TF 빌드 컴퓨터 이름과 상관없이 명명할 있어서 빌드의 목적에 맞게 이름을 명명할 있다.

 

l  연속 빌드와 예약 빌드

VSTS 2005에서는 빌드를 자동화하기 위해서 Windows 작업 스케줄러를 사용하거나, Team Foundation Build 커스터마이징해야 했다. 하지만, VSTS 2008에는 자체 스케줄링 기능이 추가되어 연속 빌드 (Continuous Build) 예약 빌드 (Scheduled Build) 가능해졌다. 기능은 빌드 정의 트리거탭에 설정 가능하다.


Continuous & Scheduled Build

연속 빌드 및 예약 빌드


이와 같이 VSTS 2008에서는 빌드 자동화가 가능해졌기 때문에, 빌드 관리자는 빌드 목적에 따라 여러 빌드 정의 생성하여 스케쥴링하는 것이 편리해졌다.

 

작업 항목 추적

작업 항목 추적 기능이 성능적인 면에서 향상되었다. VSTS 2005 TFS 비해 2 정도 빨라졌다고 한다. TFS 데이터 계층의 CPU 사용률이 낮아졌으며, 응답 속도가 현저히 빨라졌다고 한다. 따라서, 같은 서버 사양이라도 VSTS 2005 TFS보다 VSTS 2008 TFS 많은 사용자를 지원할 있다.

 

TFS 관리

VSTS 2008 TFS에서는 많은 사용자를 TFS 사용자로 추가할 발생하던 오랜 지연과 같은 문제가 줄어드는 많이 안정화되었다고 한다. 하나의 TFS 수용할 있는 전체 사용자 수가 늘어나지는 않았지만, 액티브 디렉터리와 TFS 간의 동기화 속도가 빨라졌다.

다음 글에서는 Development Edition에 새로 추가된 기능에 대해 살펴본다.

>>> 계속...

Posted by webmars