보관물

‘subversion’ 태그가 지정된 글

바빠 죽겠는데, 형상관리도 하라구요?

6월 2, 2009 5개의 댓글

필자의 관심 분야는 Project Management 쪽이며, 동료들이 편하게 개발 및 제품 운영을 할 수 있게 해주는 제반 사항을 맡고 있다.

거창하게는 Enterprise Project & Portfolio Management (EPM)이라 분류될 수 있을 것 같다.

도입 초창기에는 말도 많고 일도 힘들었다..

* 그런것 없이도 여지껏 잘해왔다…  

* 바빠죽겠는데, 언제 그런 것 까지 해요… (이슈관리, 형상관리, WIKI)
* 우리를 감시하는 것이 아니느냐…

현재는 필자 없이도 PM/개발자가 알아서 잘 쓰고 있는 상태가 되어버렸고, 개발하는 것이 많이 편해졌다는 얘기를 많이 듣는다.

* 이거 없이 예전에 어떻게 일했는지 모르겠어요..(이슈관리, 형상관리, WIKI)
* 이거 때문에 너무 편해졌어요. 너무 좋아요..

가장 기초적인 개발 환경은 형상관리에서부터 시작하는 것이 좋다고 본다.

▲형상관리, ▲이슈관리, ▲지식관리 이 3가지를 먼저 시작하면 될 것 같다.

각 분야에 대해선 다양한 오픈소스 및 상용 솔루션이 있으며, 아래 글을 참고하기 바란다.

# 프로젝트 협업을 위한 Trac, CodeBeamer, Jira, Mantis의 간단 비교  

# Trac을 Windows에서 쉽게 설치하여 사용하기

# PM 2.0 – 이슈관리 개요

# PM 2.0 – 이슈관리 활용

# PM 2.0 – 이슈관리 도입사례 – PMBOK 4th Edition 한글 번역 검수 위원회

# 이슈관리 도입사례 – PD (한솔인티큐브 모바일사업부 EPM)

# WIKI 개요

# WIKI 활용  

도움이 필요할 땐 편하게 메일 tykim*hansol.com 보내주세요. 멘토링 해드리겠습니다.

IT종사자 분들이 모두 행복해지는 그날까지~

Subversion Repository의 통합 Google 검색 서버 구축 하기

8월 26, 2008 1개의 댓글

필자는 약 20개의 Subversion Repository를 형상관리하고 있는데, 가끔 파일/폴더/본문 검색이 필요할때가 있다. 개인의 경우에는 Google Desktop 를 설치하여 로컬 검색하면 되지만, 공동 프로젝트 Repository가 수십개이다보면 일일이 update받아서 검색하는 것도 꽤 귀찮은 일이 된다. Subversion 서버외의 Subversion 전담 검색 서버를 두고, 팀원/구성원이 필요시 언제라도 본문 검색을 검색하여 파일을 다운로드 받을 수 없을까하고 구현한 방법이다.

방법은 Google Desktop의 로컬 검색 기능을 DNKA 솔루션을 통해서 웹서버 형태로 바꾸어주고, 특정 폴더에 Subversion Repository별로 Checkout을 받은 후 해당 폴더를 인덱스하는 형태이다. (윈도우 서버에서만 가능하다)

큰 방법은 다음과 같다.

1. 서버로 사용할 검색 윈도우 머신에 Subversion Repository별로 Checkout을 받는다.

2. Google Desktop을 설치한다.

3. DNKA 솔루션을 설치한다.

4. 브라우저를 통해서 환경 설정을 마친다. ( 1.에서 checkout 받은 디렉토리만 검색되게끔 한다)

5. 원격 서버에서 http://설치한서버IP:4664 로 접속하여 SVN Repository 폴더/문서/소스에 대해 실시간 구글 검색을 즐긴다.

1. 서버로 사용할 검색 윈도우 머신에 Subversion Repository별로 Checkout을 받는다.

- 필자는 Tortoise를 통해서 일일이 20개의 Repository를 수동으로 Checkout 받았다. d:\svn-search\REPOSITORY명 ) updated. 그 후 자동으로 일정 간격으로 해당 Repository를 update하도록 함.

2. Google Desktop을 설치한다.

- 주의할 점은 2008.08 현재의 Google Desktop은 5.x버전대인데, DNKA 솔루션은 Google Desktop의 2.x ~ 3.x 버전만 지원하기 때문에 구글링으로 이전 4.x 버전의 Google Desktop을 설치한다. 백업 차원으로 다운로드한 프로그램 링크를 걸어둔다. ( 5.x로 테스트해 보았는데 되지 않았다)

3. DNKA 솔루션을 설치한다.

- http://dnka.com/ 에서 DNKA 0.4.9를 다운로드 받아 설치한다. (백업 차원으로 다운로드한 프로그램 링크)

- 설치가 완료되면 자동으로 브라우저를 띄워서 환경 설정화면이 나온다.

GDS-001.png

GDS-003.png

4. 브라우저를 통해서 환경 설정을 마친다.

- 검색 대상은 c:\같은 일반적인 폴더는 다 제외하였고, d:\svn-search 하위 폴더만 검색되게끔 조정

- 보안을 위해서 접속 호스트 및 계정 설정을 할 수 있다.

- 이후 검색 Index를 걸어준다. (Google Desktop tray icon > indexing > re-index.)

GDS-002.png

5. 원격 서버에서 http://설치한서버IP:4664 로 접속하여 SVN Repository 폴더/문서/소스에 대해 실시간 구글 검색을 즐긴다.

- 단, 한글 검색시에 “한글검색어” 형태로 큰따옴표로 묶어준다.

GDS-004.png

 

—————————————————————-

updated : 2009.01.06 

—————————————————————-

Google Desktop의 자동 업그레이드를 막는 방법
1) Google Desktop Enterprise를 설치 (백업 차원으로 보관본 다운로드)
2) 압축된 파일에 포함된  ”GoogleDesktop.adm” 실행 ( 그룹정책 관리자 실행 ? ) 
3)  압축된 파일에 포함된 Admin Guide.pdf 를 참고하여  ”Block AutoUpdate” 부분을 체크함
4) 상기  설치 과정을 수행 하면 자동 업그레이드가 안 됨
 
카테고리:IT 태그:,

원격지의 Mac과 Mac의 양방향 Sync – Unison

1월 11, 2008 6개의 댓글

회사와 집에서의 작업 디렉토리/문서를 양방향 Sync 시키는 방법에 대해서 공유하고자 한다.

원격지의 Mac간의 양방향 Sync를 하기위한 방법으로 다양한 방법들이 존재하며, 각각의 장단점있다.

* Transmit을 통한 FTP Sync
- 장점 : 가장 직관적이며 쉽다.
- 단점 : 속도가 오래 걸리며, 파일의 생성 날짜가 FTP 전송일이 되어버려 작업 History관리가 불가능하다.
날짜에 의한 Sync가 되지 못한다.
- 결론 : 비추

* Rsync
- 장점 : 빠르고 간면하다. 무료다. One-way sync로 백업시에만 유용하다.
- 단점 : 사무실과 집에서 동시에 작업할때 과거 데이터가 새로운 데이터를 덮어 쓸 수 있어 양방향 Sync로 적절하지 못하다.
- 결론 : 백업이나 n대의 서버로 배포(백업)시 유리

* Subversion
- 장점 : 문서,파일에 대한 형상 관리가 가능하다.
- 단점 : 형상관리가 필요하지 않은 문서/파일 관리로, 저장공간이 적게는 두배이상 필요하다.
- 결론 : 여러명의 협업 혹은 단일 프로젝트의 작업 기록이 남겨야 하는 프로젝트성 자료 공간으로 활용

* Unison
- 장점 : Bi-way sync로 양방향 Sync가 가능하다. 무료다. Cross-platform으로 Mac, Linux, Unix, Windows간의 양방향 Sync가 가능하다.
원격지가 아닌 LAN상의 컴퓨터 혹은 동일 컴퓨터의 Volumes내에서 양방향 Sync가 가능하다.
- 단점 : 단 Windows 상에서는 파일명에 한글이 있을시 깨진다. (Unix/Mac/Linux간에는 문제 없음)
- 결론 : 개인 혹은 업무적으로 항상 데이터를 양방향 Sync시킬 필요가 있을 경우 유리

최초 1G 정도 자료의 회사와 집의 Mac끼리의 최초 Sync시간이 5분 이내였던 것 같고, 이후에는 변경 파일만 비교해서 복사하니 몇 초~몇분 이내에 다 Sync되었다.

참고
#01. Unison Manual
#02. Complete Bi-Directional Home Sync and Backup with Unison
#03. Unison File Synchronizer: Liberation through Data Replication
#04. Using Unison for remote backups
#05. File Synchronization with Unison
#06. Passwordless SSH using public/private keys
#07. 파일동기화

방법은 아래와 같다.
1. 두대의 Mac에 Unison 설치
2. 두대의 Mac 각각으로 SSH로그인시 패스워드없이 자동으로 입력하게끔 환경 설정

3. 명령어 수행
4. 고급환경 설정 (Shell script작성 및 Crontab에 등록하여 주기적으로 실행되게끔.)

1. Unison 설치
두가기 방법이 있는데 Source를 직접 Compile하는 방법이 있고, 미리 Compile한 Binary를 받아서 설치하는 방법이 있다.
1) 직접 compile방법
- Complete Bi-Directional Home Sync and Backup with Unison 을 참고하여 컴파일한 후 설치한다.

2) Compile된 unison binary를 다운로드 받아 설치하는 방법
- http://www.cs.haifa.ac.il/~shuly/unison/ 에서 unison 2.27.47
text version, compiled for PowerPC Apple OS/X을 다운로드 받아 압축을 풀고 아래와 같이 압축을 풀고 설치한다.
———————————————————-
su
mv unison-2.27.47.osx.text /bin/unison
chmod 777 /bin/unison
———————————————————-

추가로 필자가 쓰고 있는 버전은 예전에 googling으로 찾았는데 어디서 찾았는지 재검색이 안된다. 필자가 가지고 있는 Binary파일을 Link로 걸어둔다. (Unison 2.26.13: Mac(10.4, 10.5), Linux, Windows)

2. 두대의 Mac 각각으로 SSH로그인시 패스워드없이 자동으로 입력하게끔 환경 설정
1) 로컬 컴퓨터에서 Key를 생성한다.
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t dsa

2) 생성된 키를 원격지 컴퓨터로 복사한다.
$ scp -p id_dsa.pub remoteuser@remotehost:
Password: ********

3) 원격지 컴퓨터로 로그인하여 Public key를 인식/추가해 준다.
$ ssh remoteuser@remotehost
Password: ********
remotehost$ mkdir -p ~/.ssh
remotehost$ chmod 700 ~/.ssh
remotehost$ cat id_dsa.pub >> ~/.ssh/authorized_keys
remotehost$ chmod 600 ~/.ssh/authorized_keys
remotehost$ logout

4) 원격지 컴퓨터로 재 로그인 한다. (패스워드를 물어보지 않고 자동 로그인됨)
$ ssh remoteuser@remotehost

3. 명령어 수행
$ unison ~/Documents ssh://remoteuser@remotehost/Documents -times
내 Documents 하위 디렉토리 전체를 @remotehost 컴퓨터의 remoteuser의 Documents에 시간 정보를 그대로 유지하고 복사

$ unison ~/Documents ssh://remoteuser@remotehost//Volumes/외장하드명/Documents -times
내 Documents 하위 디렉토리 전체를 @remotehost 컴퓨터의 외장하드의 Documents폴더에 시간 정보를 그대로 유지하고 복사

4. 고급환경 설정

여러개의 Folder를 양방향 Sync시킬 경우 상기 명령어를 포함한 Shell 파일을 하나 만들고 퇴근 무렵 Crontab에 주기적으로 실행되게끔 설정하면 완료 됨.

$vi ~/script/bi-sync-backup.sh
——————————————————————————-

unison ~/Documents ssh://remoteuser@remotehost/Documents -times -batch > /dev/null 2>&1
——————————————————————————-

$chmod 755 ~/script/bi-sync-backup.sh

$crontab -e
——————————————————————————-
50 17 * * * /Users/(계정명)/script/bi-sync-backup.sh > /dev/null 2>&1

——————————————————————————-

이렇게 하면 매일 오후 5:50분에 사무실의 컴퓨터를 Remote 컴퓨터의 ~/Document 폴더를 양방향 Sync해준다.

Technorati Tags: , , , , , leopard, tiger, mac

팔로우

모든 새 글을 수신함으로 전달 받으세요.

다른 9,929명의 팔로워와 함께 하세요