VSS 마이그레이션 전략

Team Foundation Server 2011. 1. 18. 08:30 Posted by POWERUMC

Visual Source Safe 마이그레이션 이전에

많은 분들이 예전에 Visual Source Safe(이하 VSS) 를 사용하시면서, 현재는 이 VSS가 많은 골치거리라고 느끼시는 분들이 많이 계실 겁니다. 사실 소스 제어를 떠나서 VSS는 안정성 면에서 굉장히 불리하죠. 가장 흔하게 겪는 안전성의 문제는 파일 시스템 기반의 소스 제어 데이터베이스가 꼬이는 겁니다. 왜 꼬이는지는 알고 싶지 않지만, 오래 쓰면 쓸수록 꼬입니다.

제가 겪었던 꼬이는 대표적인 문제가 체크인 상태가 다른 사람에겐 체크인 상태가 아니라는 것이죠. 아무리 다른 사람이 최신 버전을 가져와도 그 소스 코드는 예전에 체크인 되었던 소스 코드이고, 불가피하게 강제로 다시 체크인해야 하기도 합니다. 뭐, 여기까지는 정말 가벼운 일상적인 문제이죠? 더 심한 경우는 복구 불능..!

최근 들어서, VSS의 이런 문제 때문에 많이 고생하시는 분들이 다른 소스 제어 제품으로 갈아타려는 준비를 많이 하십니다.

   

왜 VSS에서 이런 문제가 발생하나…?

사실 어쩔 수 없습니다. 지금에야 VSS가 실컷 얻어터질 수 밖에 없지만, 사실 예전에도 뚜렷한 대안이 있었던 것도 아닙니다.

VSS아니면 CVS(Concurrent Versions System) 인데, 이 CVS도 그 기능 자체의 구현이 충실하지 않아 문제점을 얘기하자면 VSS나 크게 별반 다를 것이 없었습니다. 참고로 Wikipedia 의 과거 소스 제어 제품을 보면 다음과 같지요. 즉, 당시에 VSS 보다 더 뛰어난 제품도 찾기 힘들었고, 현대의 이슈인 안정성과 성능, 보안의 요소는 어디를 뒤져봐도 없었습니다. 즉, 당시에는 어떤 제품을 선택하든 똑같은 문제를 겪었을 테니까요.

   

다만, VSS 제품은 VSS 2005 버전까지 오면서 많은 부분에서 보완이 되었지만, 사용자의 요구사항에 매우 소극적으로 대응했던 점에서 아쉬움이 남습니다.

아래는 조만간 나오게 될 백서의 내용 중의 일부이니 참고하세요.

   

 

일반적으로 '형상관리'라는 의미의 소스 제어는 소스 제어(Source Control), 버전 컨트롤(Version Control), 소프트웨어 환경 관리(Software Configuration Management)라고 불립니다. 향후 소스제어는 서버/클라이언트 아키텍처로 변경되면서 개발 조직에서 소스를 공동으로 개발하고 공유할 수 있게 되었습니다.

초기 Microsoft 에서는 소스 제어를 위한 소프트웨어로 Visual SourceSafe(비주얼 소스세이프) 를 내놓게 되었습니다. Visual SourceSafe는 처음 One Tree Software 라고 불리는 회사에서 여러 운영체제를 지원하는 소스 제어 솔루션을 만들었는데, Microsoft 는 이를 1994년에 인수하여 즉시 Visual SourceSafe 3.1 버전을 내놓았습니다. 그 이후로, Visual SourceSafe 4.0, 5.0, 6.0, 2005 버전까지 지속적으로 지원을 하다가, Visual SourceSafe 2005버전을 마지막으로 이 제품의 업데이트는 이루어 지지 않고 있습니다.

Microsoft는 그 이후에 내부적으로 소스 제어 뿐만 아니라 버그 추적/품질 관리/제품 계획에 사용되는 솔루션을 만들었고, 그 이름은 "Product Studio" 라는 제품입니다. 이 제품은 Microsoft 내부적으로 사용하기 위한 제품이었고, 이 제품을 통해 노하우를 발전시켜 비즈니스 프로세스, 개발 등 전반적인 모든 개발 활동을 아우를 수 있는 "Visual Studio Team System, Team Foundation Server" 를 시장에 내놓게 되었습니다.

   

VSS to TFS2010 마이그레이션 전략

일단 아쉽지만 VSS와 같은 제품 군은 TFS(Team Foundation Server)에 100% 마이그레이션이 힘들 수 있습니다. 왜냐하면 VSS는 파일 시스템의 파일 단위 체크인 방식인데, TFS제품은 변경 집합(ChangeSet) 기반의 소스 제어 구조를 가집니다. 변경 집합은 변경이 일어난 묶음의 세트를 얘기하며, 이 변경 집합 덕분에 분기(Branch)/병합(Merge)/이력/관리가 매우 용이합니다. 덕분이 3-ways 방식의 병합이 매우 안정적으로 동작할 수 있고요.

VSS to TFS로 마이그레이션이 100% 보장할 수 없는 예를 들자면, 고객의 데이터베이스 스키마에 "주소"가 없는데, "주소" 컬럼이 생겼다고 주소를 가짜 데이터로 입력할 수 는 없는 노릇입니다. 게임을 예로 들면, 게임 시스템에 새로운 스킬이 생겼다고 종족/레벨/서버를 막론하고 모두가 이 스킬을 습득할 수 없는 것과 마찬가지입니다.

기존의 VSS는 레이블(Labeling) 방식의 이력 관리를 하였기 때문에, 이것을 변경 집합(ChangeSet) 기반으로 바꿀 수는 없습니다. 그래서 100% 마이그레이션이 힘든 한 가지 원인이기도 합니다. 그렇게 때문에 VSS to TFS로 마이그레이션을 결심하였다면, "퀑 대신 닭", "짜장면 대신 짬뽕","아이폰 대신 블랙베리" 라는 심정으로 100%를 기대하시면 오히려 독이 될 수 있답니다.^^

아래는 VSS to TFS 마이그레이션 전략을 메트릭스로 표현해 보았습니다. 물론, 이것 보다 더 많은 고려 사항이 있습니다만, 대략 아래의 정보에 답할 수 있다면 마이그레이션은 가능하다고 말씀 드리고 싶네요.

   

   

Team Foundation Server 및 .NET 플랫폼 기술 문의

언제든지 저희 Visual Studio Korea 공식 팀 블로그에 문의를 주시기 바랍니다. 저희가 모든 것을 가이드해 드릴 수는 없지만, 저희 팀의 다양한 분야의 기술 전문가들이 성의껏 여러분들을 도와드리고 있습니다. 저희 팀은 언제나 새로운 기술에 목말라있고, 먼저 고민하고 뼈저리고 값진 노하우를 경험한 컨설팅/개발/교육 및 강사 출신의 분들과 Microsoft MVP 활동을 하고 계신 많은 분들이 계십니다.

더불어, Microsoft 의 Social Forums 인 http://social.msdn.microsoft.com/Forums/ko-kr/categories/ 에 오시면 많은 전문가들의 생생한 고급 답변을 들을 수 있습니다.


여러분에게 안타까운 소식과 좋은 소식 가지를 전해 드리고자 합니다. 먼저 안타까운 소식을 하나 전해드리도록 하겠습니다.

 

안타까운 소식, Microsoft 내놓은 초기 소스 제어(Source Control) 제품인 VSS(Visual Source Safe) 지원이 중단 되었습니다. 들어가기 앞서, 일반적으로 '형상관리'라는 의미의 소스 제어는 소스 제어(Source Control), 버전 컨트롤(Version Control), 소프트웨어 환경 관리(Software Configuration Management)라고 불립니다. 향후 소스제어는 서버/클라이언트 아키텍처로 변경되면서 개발 조직에서 소스를 공동으로 개발하고 공유할 수 있게 되었습니다.

초기 Microsoft 에서는 소스 제어를 위한 소프트웨어로 Visual SourceSafe(비주얼 소스세이프) 내놓게 되었습니다. Visual SourceSafe 처음 One Tree Software 라고 불리는 회사에서 여러 운영체제를 지원하는 소스 제어 솔루션을 만들었는데, Microsoft 이를 1994년에 인수하여 즉시 Visual SourceSafe 3.1 버전을 내놓았습니다. 이후로, Visual SourceSafe 4.0, 5.0, 6.0, 2005 버전까지 지속적으로 지원을 하다가, Visual SourceSafe 2005버전을 마지막으로 제품의 업데이트는 이루어 지지 않고 있습니다.

 

하지만, Microsoft 이후에 내부적으로 소스 제어 뿐만 아니라 버그 추적/품질 관리/제품 계획에 사용되는 솔루션을 만들었고, 이름은 "Product Studio" 라는 제품입니다. 이 제품은 Microsoft 내부적으로 사용하기 위한 제품이었고, 이 제품을 통해 노하우를 발전시켜 비즈니스 프로세스, 개발 전반적인 모든 개발 활동을 아우를 있는 "Visual Studio Team System, Team Foundation Server" 를 시장에 내놓게 되었습니다.

 

즐거운 소식은, VSS 사용자를 위한 TFS2010 시리즈가 나왔다는 것입니다. 한국 MSDN 페이지에 대문짝만하게 걸려있는 문서가 바로 그것입니다.

 

 

 

 

 

이런 이음매가 없는 것을 연결시키는 하나가 영화에서 "To be continue…" 자막이죠… ^^ 마치 지금과 같은 VSS TFS2010 과의 이음매처럼 말입니다. Microsoft 에서 지원이 중단된 제품은 최대한 빨리 최신 버전으로 옮기는 것이 좋습니다. 유예기간과 지원에도 불구하고 버전을 쓴다는 것은 장애에 대해 이상 Microsoft 지원을 받지 않는다는 것과 마찬가지이고, 어떤 솔루션을 사용하든 이러한 절차는 대부분 통용되기 때문입니다. (물론 장애에 대해 그에 상응하는 비용을 지불하면 지원은 받을 있을 것입니다.)

 

 

그럼 간단히 "VSS사용자를 위한 TFS2010 시리즈" 목차를 살펴볼까요?

 

1. 일단 설치부터 해야 하겠지요?

1.        Visual Studio Team Foundation Server 2010 개요

2.1        Team Foundation Server 소개

2.2        Team Foundation Server 논리적 구조

2.3        Team Foundation Server 물리적 구조

2.        Visual Studio Team Foundation Server 2010 설치

3.1        설치 준비

3.1.1        Visual Studio Team Foundation Server 2010 설치에 필요한 필수 소프트웨어

3.1.2        Visual Studio Team Foundation Server 2010 필요한 최소 하드웨어 구성        

3.2        설치 전 필요 소프트웨어 구성

3.3        인터넷 정보 서비스(IIS 7.X) 설치하기

3.4        .NET Framework 3.5 설치하기

3.5        Visual Studio Team Foundation Server 2010 설치

3.6        Visual Studio Team Foundation Server 2010 Basic(기본) 구성

4.        사용자 계정 관리

4.1        Visual Studio Team Foundation Server 2010 보안

4.2        Visual Studio Team Foundation Server 2010 사용자 이해

4.3        Visual Studio Team Foundation Server 2010 역할

4.4        Visual Studio Team Foundation Server 2010 사용자 권한

4.5        Visual Studio Team Foundation Server 2010 사용자 추가하기        

4.5.1        Visual Studio Team Foundation Server 2010 사용자

4.5.2        팀 프로젝트 모음 사용자 추가

4.6        Visual Studio Team Foundation Server 2010 사용자 삭제하기

4.7        Windows 사용자 그룹 활용하기

4.7.1        Windows의 사용자를 그룹으로 연결하기

4.7.2        Visual Studio Team Foundation Server 2010 그룹 이용하기

 

 

2. 그럼 VSS TFS2010으로 마이그레이션도 해야하는데… 다음 목차를 보시죠.

1.        Visual Source Safe 개요        

1.1        Visual Source Safe 소개        

1.2        소스관리와 소스코드 형상관리

1.3        사용자 계정 및 보안

1.4        Visual Source Safe 사용과 개발환경 변화

2.        Visual Studio Team Foundation Server 2010 개요

2.1        Team Foundation Server 소개

3.        Visual Source Safe 마이그레이션 작업하기

3.1        Visual Source Safe 에서 Visual Studio Team Foundation Server 2010 이전

3.2        Visual Source Safe 사용자 정보 이전하기

3.3        자동화 마이그레이션 VSSConverter 사용

3.4        Visual Source Safe 정보 자동 이전하기

3.4        Visual Source Safe 소스 코드만 이전하기

3.4        Visual Source Safe 마이그레이션 주의사항과 문제 해결

 

 

3. 이제 적극적으로 활용해 봅시다.

1.        사용자 계정 관리

1.1        Visual Studio Team Foundation Server 2010 사용자 계정관리

1.2        Visual Studio Team Foundation Server 2010 사용자 이해

1.3        Visual Studio Team Foundation Server 2010 역할

1.4        Visual Studio Team Foundation Server 2010 사용자 권한

1.5        Visual Studio Team Foundation Server 2010 사용자 추가하기

1.5.1        Visual Studio Team Foundation Server 2010 사용자

1.5.2        팀 프로젝트 모음 사용자 추가

1.6        Visual Studio Team Foundation Server 2010 사용자 삭제하기

1.7        Windows 사용자 그룹 활용하기

1.7.1        Windows의 사용자를 그룹으로 연결하기

3.7.2        Visual Studio Team Foundation Server 2010 그룹 이용하기

2.        팀 프로젝트 구성

2.1        팀 프로젝트 소개

2.2        Visual Studio Team Foundation Server 2010 “팀 프로젝트 모음” 만들기

2.3        Visual Studio Team Foundation Server 2010 팀 프로젝트 만들기

2.4        Visual Studio Team Foundation Server 2010 팀 프로젝트 삭제하기

3.        작업 항목

3.1.        작업 항목 소개

3.1.1        작업 항목 이용하기

3.2.        Visual Studio Team Explorer 내 작업 항목

3.3.        Visual Studio Team Explorer 팀 작업 항목

3.4.        작업 항목 만들기

4.        소스 코드 관리

4.1.        소스 코드 관리소개

4.2.        소스 제어 탐색기 사용하기

4.3.        소스 코드 체크인 / 체크아웃

4.3.1        Visual Studio 에서 소스 코드 체크아웃

4.3.2        Visual Studio 에서 소스 코드 체크 인

4.4.        소스 코드 버전관리

4.5.        소스 코드 최신 버전 가져오기

4.6.        소스 코드 체크인과 작업 항목 연결

4.7.        소스 코드 체크인 정책

VS TFS 2010 사용편 - SourceSafe? 버려~

Team Foundation Server 2010. 5. 10. 09:00 Posted by 알 수 없는 사용자
 

SourceSafe 보다 좋은 VS TFS 2010  3부작~ 1

 

팀장 : "XX ~"

: "~(룰루 랄라~)"

팀장 : "현재 쓰고 있는 VS 2008 하고 VS 2005 SourceSafe 있는거 사용하고, 신규부터 VS TFS 2010 사용하죠."

: "? 그거 전부 VS TFS 올리는 아닌가용????"

팀장: "? 뭐야 VS 2008 있는거? VS TFS 2010으로 연결해서 사용할 있어? 그리고 TFS 2010 에서 소스 관리하는거 새로 배워야 하는거 아냐?"

: "??? 새로 배워요? SourceSafe 사용했던 처럼 체크 / 아웃 하면 돼요~"

팀장: "새로 안배워도 ? 정말? 그리고 VS 2008 있는거 SourceSafe 말고 VS TFS 2010 써도 ?"

: "~~~ ~~ 얼씬 안정빵으로 소스 관리할 수있어요~ 이번에도 저만 믿으세요~ ㅋㅋㅋㅋ(이번엔 팀장에게 저녁 사달라 할까? 마눌님 친정갔는데 ㅋㅋㅋ)"

팀장 : " 그래? 해봐"( 이번에도 내기 해봐? 그런데 웃음은 뭐지??? 불안해 확실할 해야겠당...)

 

이제 드뎌 사용편입니다. 3부작으로 천천히 하죠 ㅎㅎㅎ

1편 : VSS 에서 VS TFS 2010으로 업그레이드 준비 작업하기
 

사용편에서는 Visual SourceSafe 2005 사용하는 사용자 분들을 위해 앞에서 설치, 구성을 상태에서 진행하셔야 합니다. VS TFS 2010 우선 기존의 사용하는 방법 그대로 사용하면서 추가 기능을 알아보는게 좋을 같습니다.

 

~ Visual SourceSafe 2005(VSS 2005) 업그레이드 작전(?) 입니다.

 

VSS 2005 이라고 불리는 녀석이 회사 프로젝트의 모든 소스를 관리하는 녀석으로 20 정도가 있다고 가정합니다.~ (가정 VS 2005 하고 2008 같이 사용하는 회사도 있습니다. ^^)

 

회사는( 백수입니다 .) VS 2005 부터 VS 2008 까지 프로젝트로 진행하고 있으며 개발자들은 모두 두개의 VS 설치하고 있다고 가정합니다. 이런 상황에서 VS TFS 2010 사용할 있으냐? 사용 가능합니다. 처음 부터 VS 2010을 사용하면 좋지만… 여러가지 이유로 당분간 VS 2005, 2008 사용해야 하는 어쩔수 없는 상황도 있을 있습니다.

 

VS TFS 2010 만들어낸 Microsoft 에서는 이런 상황에 대한 지원은 기본이라 수있습니다.( VS 2003 번외편으로 하죠 ㅎㅎ 아직 완전하지는 않은듯 합니다 ^^ 제가 테스트 하구요^^)

 

이제 본론으로 넘어와서 TFS 2010 이란 녀석을 활용해야 하는데.. 솔직히 기존 프로젝트를 VS 2010으로 업그레이드 하는 것이 젤루 좋지만…. 앞에서 설명한 여러가지 이유중에 회사마다 돈을 내고 사용하는 VS 추가 콤포넌트들이 있을 경우에는 바로 업그레이드 하기에는 조금 위험하기 때문에.. 그냥 VS 기존 버전을 사용하는 경우도 있습니다. 그렇다면, 정말 연결을 하려면 어떻게 해야 하는가??

기존 버전에서 VS TFS 2010으로 연결하기 위해서는 다음 같은 파일들을 다운로드 받아서 설치만 하면 됩니다.

 

VS 2005 SP1 호환성 업데이트

VS 2008 SP1 호환성 업데이트

 

~ 2개만 있으면.. 바로 사용할 있다는 것입니다.(한글판 다운로드입니다.^^)

 

그런데~~ 여기서 잠깐 주의 하실 것이 있습니다.

 

VS 2005에서는 최소한 Visual Studio Team System 제품군이여야 한다는 전제조건이 있습니다. VS 2008 Professional 에서 Team Explorer 2008 설치해서 접속해도 되지만… VS 2005 약간 부끄러움을 타는건지(?) Team System 계열만 가능합니다.

 

하나. 바로 Service Pack관련 부분으로 어느 회사에서는 Service Pack1 설치하지 않는 경우도 있습니다. Service Pack1 닷넷은 아닙니다. 개발자분들이 오해하시는 것중에 하나가 .NET 서비스팩 업그레이드 했으니 VS 업그레이드 된거 아냐? 하시는데.. 아닙니다.

그래서 절대 주의 하셔야 합니다.

 

Visual SourceSafe 2005 에서 Visual Studio Team Foundation Server 2010 으로 가기 위한 작업

 

Visual Studio 2005 경우

 - Visual Studio Team System 제품군인지 확인

 - Visual Studio Team Explorer 2005 설치

 - Visual Studio 2005 Service Pack 1 설치

 

Visual Studio2008 경우

 - Visual Studio Team Explorer 2008 설치

 - Visual Studio 2008 Service Pack 1 설치

 

이런 순서로 진행하셔야 합니다.

 

Service Pack 1 설치 후에 Team Explorer 설치하시면.. 다시 Service Pack 1 설치하셔야 합니다.

그런 이제 VS TFS 2010 접속할 있는 환경으로 전환이 입니다.

 

그런데… 회사 개발팀들.. 마디 합니다. TFS 2010으로 가야 하는데????

~ 소주 한잔 하시죠?? 하고 이야기 하면.. 소주값 만이 들어갑니다.(한달 월급이 얼마인데 . 잘못 카드값이 나오면 마눌님에게 둑는데 ㅠㅠ)

 

그래서 다음과 같이 정리 했습니다.

 

구분

Visual Source Safe 2005

Visual Studio Team Foundation Server

저장소

파일 형식

MS SQL Server

보안

공유폴더 접근권한 사용

소스에 직접 접근 불가

편의성(사용자 계정)

VSS 에서 직접 관리

Windows 계정 사용

성능

파일 I/O

Proxy 서버로 성능 향상가능

요구사항 관리

불가

설계부터 요구사항과 연결

문서 형상관리

소스만 가능

가능(SharePoint Services)

보고서

직접 작성

가능(SQL Server Reporting 또는 엑셀)

백업 및 복구

수동

Database 백업 / 복구

개발방법 지원

지원불가

Agile 또는 CMMI 지원

기술지원

2005버전 이후 계획 없음

2011 까지 가능

지속적인 업그레이드

기술 지원 가능

 

ㅎㅎㅎ .. 이런 이유로 사용하면 좋다는 것인데요.. 일단 VSS 2005 아니 VSS 오랫 동안 사용해보신 분들이라면.. 다들 VSS 때문에 약속이나 소스 원복으로 인한 철야 작업들이 기억나실 겁니다.

 

VS TFS SQL Server 사용하기 때문에 DB 백업/복구만 잘되어 있다면 언제든지 복구가 가능하다는 것이죠. SQL 이긴 하지만, Database 장점과 Windows 계정의 활용등등.. 여러 가지 장점이 있다는 것입니다. 앞에서 정리한 것으로 개발팀원들과 이야기가 끝났다면… 이제 사용해야 겠죠?

 

.. 바로 Service Pack 1 설치 다음이 사용자 계정과 소스를 TFS 2010으로 이전 작업입니다.

사용자 계정과 소스 이전 작업은 다음에~~ Soon 입니다~