블로그 이미지
Welcom Back Tatter. 머샤머샤

카테고리

분류 전체보기 (140)
테터 (1)
悲歌 (12)
Lost & Found (1)
IT (126)
Total
Today
Yesterday


실루엣 형상관리솔루션을 컨설팅하면서 고객에게 요구사항을 해결하는 솔루션을 설명하다 보면, 분명 동일한 용어인데 벤더에 따라 너무나 상이하게 사용하기 때문에 발생하는 혼동이 자주 발생합니다.

그 중 대표적인 것이 [원격지개발]이라는 용어 입니다.

IBM ClearCase의 경우 [원격지개발]을 지원하기 위해서 MultiSite라는 제품을 제공 하고 있습니다. (IBM MultiSite 제품소개, 한글)

상황에 따른 정의를 살펴 보도록 하겠습니다.

Case 1 - 지리적으로 분산되어 있는 개발팀이 상호 독립적인 레파지토리를 가지고 개발을 진행하면서, 필요한 시점에 레파지토리를 동기화 시키는 방안(IBM MulitiSite)

Case 2 - 지리적으로 분산되어 있는 개발팀이 하나의 통합된 레파지토리에 대해서, 광대역 네트워크(주로 인터넷, 전용선)를 사용하여 개발을 진행하는 방법(실루엣, CVS, SVN)

Case 3 - 원격지의 작업영역(주로 Unix, Linux 환경)에 대해서 FTP를 사용하여 체크인/아웃을 사용하는 방법(실루엣)

원격지라는 용어 자체가 지역적으로 분할 된 상황일 수도 있고, 개발자 입장에서는 물리적으로 분할 된 상황 일 수 있습니다.

이제까지의 형상관리 클라이언트들은 Unix/Linux 환경을 지원하기 위해서 Unix/Linux용 Command Line Interface를 제공 하고 있었습니다. (ClearCase, Harvest, CVS...)

즉, 형상관리가 구동되는 환경이 작업영역에서 구동되었기 때문에, 원격지에서 개발되는 작업영역에 대한 지원이라는 것이 아주 특별한 상황이었던 것이죠.

 [실루엣 프로젝트별 작업영역 설정 리스트]

위 실루엣 프로젝트별 작업영역 설정 리스트를 보면, Unix환경에서 개발되는 프로젝트와 개발자 PC(Local)에서 개발되는 프로젝트가 모두 설정되어 있는 것을 볼 수 있습니다.

 여기에 한가지 상황이 더 해지게 되는데, CVS/SVN의 경우 공용모드의 개발이 불가능합니다. 우리나라에만 있는 문화이겠지만 :). Oracle Pro*C를 개발하는 환경에서 서버에 하나의 Unix계정만 생성하고, 모든 개발자가 그 계정으로 접속해서 개발하는 경우입니다.

이런 경우에는 아무리 CVS/SVN이 Unix Client를 제공한다고 하더라도 현실적으로 서버에서 형상관리가 불가능합니다. 물론 실루엣은 이러한 국내의 환경을 감안하여 다양한 방법으로 작업영역을 설정 할 수 있는 기능을 제공합니다.

[실루엣 개발자 작업영역 설정 화면]

지역적으로 분산된 개발환경에 대한 경우는, 예전의 형상관리 도구들은 레파지토리를 Windows 네트워크 드라이브나, Unix Mount를 사용해서 연결 해야만 했습니다. (Ex, ClearCase)

그렇다 보니, 지역적으로 분산된 개발환경이거나 사용자가 아주 많게 되면 퍼포먼스에 지대한 문제가 발생하고는 했습니다.

하지만, 요즘 트랜드를 반영하는 실루엣이나 SVN의 경우를 보면, 인터넷을 사용하여 원격지에 있는 레파지토리에 대해서 자유롭게 체크인/아웃하는 모습을 볼 수 있습니다.

실루엣을 사용하고 계신 L사에서는 상암 IDC에 있는 단일 레파지토리에 중국개발센터에서 접속해서 자유롭게 체크인/아웃 하고 계십니다.

물론 네트워크적으로 완전히 단절된 상황이라면, Mecurial, git과 같은 "분산개발전문" 형상관리 제품을 사용하는 것이 고려 되어야 합니다.

이상 원격지개발이라는 용어기준으로 사용자가 고려 할 수 있는 사항에 대해서 이야기 해보았습니다. 다음번에는 병렬개발과 브랜치/프로모트를 한번 다루어 보도록 하겠습니다.

Posted by 머샤머샤
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함