태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

VS 2013 ALM/TFS 20132014.12.05 19:31

[프로페셔널 TFS 간단정리] 5장. 버전 제어 개요(1) - 핵심 개념

이 장에서는 특정 버전 제어 도구와 상관없이 일반적으로 사용되는 기본 개념과 기능에 대해 설명한다.

 

1. 버전 제어란?

버전 제어(version control)을 의미하는 용어는 다양하다: 소스 제어(source control), 리비전 제어(revision control), 소프트웨어 형상관리(SCM).

버전 제어 시스템의 주요 기능

  • 소프트웨어 프로젝트를 빌드하는데 필요한 소스 코드, 이미지, 빌드 스크립트 등의 저장소
  • 이러한 파일들의 변경 기록을 추적하고, 특정 시점의 파일 상태를 조회
  • 같은 프로젝트를 수행하는 다른 팀원들과의 협업을 위한 도구와 메커니즘

 

2. 버전 제어 시스템의 핵심 개념

개념

설명

저장소(repository)

일반적으로 코드는 컴퓨터 내의 저장소에 저장된다. 저장소는 파일 시스템의 디렉터리 구조와 비슷하다. 그러나 파일의 변경 내용을 추적하고 다른 팀원들과 공유할 수 있다는 점에서 파일 시스템과는 다르다.

작업 사본(working copy)

저장소에 있는 파일들은 개발자 컴퓨터의 로컬 영역에도 있어야 한다. 이 로컬 버전을 TFS에서는 작업 영역(workspace)라고 하며, 다른 시스템에서는 샌드박스(sand box) 또는 작업 사본(working copy)라고도 한다.

작업 폴더 매핑(working folder mapping)

작업 폴더 매핑(working folder mapping)은 저장소 내의 파일 저장 위치와 로컬 시스템 내의 작업 사본 위치를 연결해주는 링크를 말한다. 작업 디렉터리(working directory), 작업 영역 매핑(workspace mapping) 또는 샌드박스(sandbox) 등도 작업 폴더 매핑을 의미한다.

가져오기(get)

저장소에서 로컬 컴퓨터로 파일을 다운로드하는 것을 TFS에서는 가져오기라고 한다. 동일한 과정을 CVS나 SVN에서는 체크아웃(check ou)이라고 한다. Git과 같은 분산 버전 제어 시스템에서는 저장소에서 개발 파일 대신 저장소를 통째로 복제한다.

추가하기(add)

로컬 컴퓨터에서 파일과 폴더를 저장소에 추가하여 다른 팀원들과 공유한다. 이때 소스 코드를 컴파일한 바이너리 파일, 빌드할 때마다 개발 도구가 생성하는 파일 등은 공유할 필요가 없다.

체크아웃(checkout)

파일을 편집하려 할 때, 해당 파일을 사용하겠다고 서버에 통보하여 다른 팀원들이 알 수 있게 하는 작업을 TFS에서는 체크아웃이라고 한다. CVS나 SVN에서의 체크아웃은 저장소의 파일을 다운로드해서 로컬에 작업 사본을 만드는 것을 의미한다.

변경 집합(changeset)

로컬 컴퓨터에서 체크아웃하고 편집한 다음 저장소에 저장할 대상이 되는 파일들을 변경 집합, 커밋(commit) 또는 변경 목록(changelist)라고 한다.

체크 인(check-in) 

로컬 컴퓨터에서의 변경 내용을 다른 팀원들과 공유하기 위해 저장소에 변경 집합을 커밋한다. 이를 TFS에서는 체크인(check-in)이라고 한다. 다른 도구에서는 커밋(commit)과 같은 용어를 사용하기도 한다. 

기록(history)

버전 제어 시스템은 시간에 따라 폴더나 파일에 어떤 변화가 있었는지 모든 것을 기록한다. 이 기록을 통해 고객에게 어떤 코드가 전달됐는지, 이 코드가 왜 지금처럼 작성됐는지, 과거에 특정 기능을 누가 구현했는지 등을 알 수 있다. 

분기 및 병합(branching and merging) 

분기는 저장소에 있는 파일들의 복사본이다. 분기를 하면 둘 이상의 팀이 동시에 같은 프로젝트를 수행할 수 있다. 어떤 분기에서 다른 분기로 변경 내용을 합치는 것을 병합이라고 한다.

 

3. 버전 제어 제품들

3.1. Microsoft VIsual SourceSafe 

장점

단점 

설치와 사용이 쉽다. 

더 이상 개발되지 않으며 지원이 종료되었다. 

개발 도구를 광범위하게 지원한다.

WAN 환경에서는 잘 실행되지 않는다.

업계에 널리 채택되었다.

트랜잭션 없이 체크인하기 때문에 원자성이 보장되지 않는다.

 

분기 기능이 매우 제한적이다(공유 기능을 통해 제공한다).

 

3.2. Apache Subversion 

장점

단점 

오픈 소스로 무료로 사용할 수 있다.

소스 폴더 내에 .svn 디렉터리를 사용해서 로컬 작업 사본의 상태를 저장하고 서버와 동기화한다. 이는 로컬 소스 트리를 오염시킬 수 있으며 매은 큰 프로젝트나 파일의 경우 성능 이슈가 있을 수 있다.

오픈 소스 프로젝트에서 널리 사용된다.

파일 이름 변경을 복사 및 삭제 작업으로 처리한다. 이는 병합할 때 문제가 발생할 수 있다. 

다양한 운영체제에서 동작한다.

윈도우 환경에서는 인증 구성 및 특정 관리 기능 실행이 어려울 수 있다.

모든 플랫폼의 개발 도구를 광범위하게 지원한다.

보류 기능이 없다. 

 

3.3. Microsoft Team Foundation Server 

장점 

단점 

버전 제어 이상의 기능(작업 항목 추적, 빌드, 보고 등)을 제공한다.

오프라인 기능이 향상되었지만, 여전히 Git과 같은 분산 버전 제어 도구만큼 강력하지 않다. 

Visual Studio와 Eclipse용 클라이언트를 Microsoft가 직접 제공한다. 

코드에 체크 인하고 팀원들과 협업하려면 서버를 설치해야 한다. 그러나 VSO(Visual Studio Online, http://tfs.visualstudio.com) 를 이용하면 별도의 설치없이 가능하다.

중앙집중식 보안 관리, Active Directory 통합 인증, 단일 로그온(SSO), SharePoint 통합과 같은 기업 환경을 위한 기능을 제공한다.

서버는 윈도우 플랫폼에서만 실행된다. 그러나 클라이언트는 크로스 플랫폼을 지원한다.

높은 확장성을 가진다.

 

로컬의 변경 내용을 메인 코드 저장소에 커밋하지 않고도 서버에 저장할 수 있는 보류 집합(shelveset) 기능이 있다.

 

저장소에 커밋하기 전에 통과해야 하는 체크 인 정책을 제공한다.

 

제어된 체크 인(gated check-in) 기능을 사용하여 메인 저장소에 커밋하기 전에 빌드 자동화를 실행할 수 있다.

 

모든 데이터는 보안과 백업 용이성을 위해 SQL Server 데이터베이스에 저장된다.

 

 

감사합니다.

webmars.

 

 

 

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.11.24 10:29

[프로페셔널 TFS 간단정리] 4장. Team Foundation Server에 연결

이 장에서는 Team Foundation Server 클라이언트에 대해 알아봅니다.

 

1. Visual Studio 팀 탐색기

Visual Studio 팀 탐색기는 모든 Visual Studio 에디션에 기본적으로 포함되어 있는 클라이언트이다.

Team Foundation Server 2013과 Visual Studio 간의 호환성은 다음과 같다.

 

2. Team Explorer Everywhere

Team Explorer Everywhere(TEE)는 Eclipse IDE와 크로스 플랫폼(Mac, Unix, Linux) 용 클라이언트이다.

Team Explorer Everywhere(TEE)는 두 가지 주요 도구로 구성되어 있다.

  1. Eclipse 용 Team Foundation Server  플러그인
  2. Team Foundation Server 크로스 플랫폼 명령줄 클라이언트

 

TEE는 TFS 2013, 2012, 2010, 2008 및 Visual Studio Online에서 사용할 수 있다.

TEE는 Java로 구현되어 Windows 뿐만 아니라 Mac OS X, Unix 진영(예, Linux, HP-UX, Solaris, AIX) 등의 주용 플랫폼을 지원한다.

 

3. Team Web Access

Team Web Access는 웹 기반 클라이언트로 웹 브라우저를 통해 TFS에 액세스할 수 있다. 따라서 TFS 전용 클라이언트를 설치하지 않으려는 사용자에게 적합하다.

이 클라이언트는 기본적으로 http://<tfs이름>:8080/tfs/web에 설치된다.

 

4. Microsoft Excel과 Project

팀 탐색기를 설치하면 Mcrosoft Excel 및 Project의 리본 메뉴에 팀 메뉴가 추가된다.

팀 리본 메뉴에서 TFS에 연결할 수 있으며, 쿼리를 사용하여 작업 항목을 조회, 편집, 추가할 수 있다.

Excel에서는 현재 상태 및 과거의 추세를 분석하기 위해 Excel 통합 문서에 여러 유형의 보고서를 생성할 수 있다.

TFS 2012부터는 Project Server와의 통합 기능이 포함되어 있어, 양 서버 간의 작업 동기화가 가능하다.

 

5. Windows 탐색기

Team Foundation Server Power Tools의 일부로 Windows 쉘 통합 기능을 설치할 수 있다. 이 기능이 설치되면, Windows 탐색기에서 TFS의 버전 제어 메뉴에 접근할 수 있다.

이는 Visual Studio 또는 Eclipse 이외의 환경에서 TFS와 함께 작업하고자 할 때 유용하다.

 

감사합니다.

webmars.

 

 

 

 

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.11.21 18:33

[프로페셔널 TFS 간단정리] 3장. 설치 및 구성

이 장에서는 Team Foundation Server를 구성하는 유형에 대해 설명한다.

TFS 설치는 MSDN의 TFS 설치 가이드를 참고한다.

 

1. 기본(Basic)

TFS를 가장 빠르고 쉽게 설치할 수 있는 방법으로 소규모 팀에게 적합하다. 단, 보고서 서비스 및 SharePoint 통합 기능은 사용할 수 없다. 만약 TFS를 Windows Server에 설치한 경우라면 나중에 이 두 가지 구성요소를 추가할 수는 있다.

 

2. 표준 단일 서버 (Standard Single Server)

한 대의 서버에 Team Foundation Server를 설치할 때 사용한다. TFS의 모든 기능뿐만 아니라 보고서 서비스 및 SharePoint 통합 기능도 사용할 수 있다. 단, 원격 서버에 설치된 SharePoint나 SQL Server를 사용하려 할 경우에는 이 유형을 사용해서는 안 된다.

 

3. 고급 (Advanced)

표준 단일 서버와 마찬가지로 TFS의 모든 기능뿐만 아니라 보고서 서비스 및 SharePoint 통합 기능을 제공한다.  SharePoint, SQL Server, SQL Server Reporting Service를 원격 서버에 구성할 수 있다.

 

감사합니다.

webmars.

신고
Posted by webmars