'CVS서버IP도메인변경'에 해당되는 글 1건

320x100

[CVS] CVS 서버 IP/도메인 변경시 대처하는 방법 [펌글]

Posted on 2010. 3. 5. 19:37
Filed Under Programming/개발환경+도구

<출처: http://dolba.net/tt/k2club/entry/How-To-Relocated-CVS-Server>

혼자 개발을 하는 프로젝트가 많이 있지만, 회사 데스크탑과 노트북 그리고 집에서 일을 하는 경우 집에 있는 데스크탑의 각각의 프로젝트를 동기화 시키기 위해 CVS를 사용하고 있다.

CVS를 이용함으로써, 3개의 데스크탑과 노트북에서 동일한 소스를 가지고 작업을 할 수 있게 되는데, 서버 아이피가 고정 아이피인 경우에는 그럴일이 드물겠지만, 유동 아이피를 사용한다던가 혹은 서버 아이피/도메인이 어떤 사정에 의해 변경되었을때는 Commit/Update 작업이 되지 않아 상당히 골머리를 썩게 한다.

TortoiseSVN의 경우에는 "Relocate" 메뉴를 지원한다고 하는데, (관련 링크 : http://junho85.tistory.com/10)
사용자 삽입 이미지

이미지 출처 : http://junho85.tistory.com/10



내가 사용중인 CVS에서는 저런 메뉴는 보이지도 않는다.

결국 이런 경우에는 다시 checkout 을 하거나 CVS/Root 파일내에 아이피 정보를 모두 수정 해 주어야 한다.

:pserver:cvsid@변경전 아이피:/var/repo:pserver:cvsid@변경후 아이피:/var/repo 로...

뭐 이걸 일일이 수작업으로 변경하는 일은 프로젝트의 규모가 크지 않은 경우라면 관계없지만, 프로젝트 규모가 큰 경우에는 수정해야할 "root" 파일의 갯수만 해도 수백개가 된다. 결국 매번 저런 작업을 한다는것은 무리라는 얘기...

그래서 리눅스에서는 perl 스크립트를 이용하여 변경작업을 하여주고,
find ./ -name "Root" -exec perl -pi -e 's/변겅전IP/변경후IP/g' {} \;

윈도우에서는 AcroEdit나 기타 파일 내용 바꾸기가 가능한 툴을 이용해서 변경 작업을 해주면 된다.

하지만!!!!! CVS 서버 주소의 변경이 빈번하게 일어나는 일이 아니기때문에 저런 형태로의 대응 방법도 괜찮겠지...

저 방법보다 좀더 깔끔한 방법을 소개하고자 한다. 현재 본인이 사용하고 있는 방법인데 굉장히 편하다.

자 그 방법에 대해 알아보도락 하자.

1. C:\Windows\System32\Drivers\Etc 폴더를 보면 "hosts"라는 파일이 존재하는데 해당 파일을 약간만 수정해줌으로써, CVS 서버에 관해 좀더 유연한 대처를 할 수 있게 된다.

해당 파일의 내용을 살펴보자.
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

127.0.0.1       localhost

위의 내용에서 보면 127.0.0.1 / localhost 라는 내용을 볼 수 있는데, 127.0.0.1이라는 아이피 주소를 localhost라는 영문명(도메인명)으로 별명을 지어주는 역할을 할 수 있다.

2. 이를 이용하여 저 hosts 파일에 아래의 내용을 넣어보자.

192.168.0.100             my_cvs_server

이후에 CVS 서버에 새로운 모듈을 만들거나 CheckOut / Commit / Update를 수행할때 아래와 같이

:pserver:cvsid@my_cvs_server:/var/repo  의 형태로 하게 되면 서버 아이피가 바뀔때마다 hosts 파일만 손봐주면 손쉽게 CVS를 이용할 수 있게 된다.

애초에 CVS 서버 주소를 "my_cvs_server" 나 기타 자신이 좋아하는 영문 이니셜등으로 하자라는 얘기!!!
반응형

About

by 쑤기c

반응형