2009/12/11 17:13 IZECT DEV LAB/웹 프로그래밍
웹 프로그래밍의 구조 그리고 CVS와 Ant
[ 초 스피트 CVSNT 설치 방법 ]
1. Windows 2003 서버에 CVSNT 설치(http://www.march-hare.com/cvspro/#downcvsnt)2. 제어판 -> CVSNT Server 실행3. Repository Configuration 선택해서 저장소 추가. Add버튼 누르고 적절한 경로 입력(단, Name은 /cvs 이런 식으로 입력해야 유닉스 호환이 가능)4. 시작->cmd 에서 set CVSROOT=:pserver:127.0.0.1:/cvs(여기서 cvs는 3번에서 입력한 Name) 로 환경변수 추가5. cvs login 입력 후 엔터. 비밀번호는 현재 접속한 윈도우의 접속 계정(보통 Administrator계정의 비번)6. 계정을 추가 : cvs passwd -a -r administrator test 입력->administrator는 계정과 연결할 윈도 계정, test는 cvs로 로그인 할 계정7. 비번 물어보는데 아무거나 한다.
그래서 CVS과 Ants(자동빌드용)에 대해 생각해 보았다.
- CVS에서 Commit를 하면 History관리(헤더)가 있는 각종 소스 파일이 올라간다.(작업PC->CVS서버)
- Ants에서 build.xml을 run as를 통해 실행시키면 빌드된 클래스 파일 등이 올라간다.(작업PC->운영 서버)
그럼 이것들의 차이점은 무엇인가..?
사실 난 CVS서버를 통해 소스를 관리하고 싶지만, CVS서버를 통해 업로드 된 파일들을 실제 운영 서버의 WAS와 매칭된 Root Path와 같게 하고 싶지는 않았다. CVS에서는 소스파일과 심지어 문서들까지도 관리하게 되는데, 그 루트를 WAS의 루트와 같게 한다? 그건 아니라고 생각했다. (보안상의 위험도 있고..)
그래서 프로그램을 다시 유심히 살펴 보니, BASE_SRC(기본 소스코드) 와 WEB(.jsp 및 이미지들, 즉 실제 서비스할 파일들) 이렇게 나뉘어져 있었다.
- BASE_SRC
- SRC
- com.xxx
- 클래스 하위 구조들(Spring의 controller, view, dao들)
- sql 맵핑 xml데이터
- properties 파일
- library 파일
- WEB
- WebContent(웹 파일들)
- images(이미지)
- js(자바스크립트)
- jsp(jsp 소스들)
- WEB-INF
- 각종 library 및 web.xml 등
얼추 이와 비슷한 파일 구조를 가지는데(여기서 BASE_SRC와 WEB은 독립된 프로젝트이다.) 중요한 것은 BASE_SRC에서는 자동 컴파일을 통해 WEB의 WEB-INF안에 class라는 폴더로 빌드된 파일들을 전송해 준다. 결국, 실제 운영 서버에는 CVS루트의 파일 중 WEB폴더 안의 내용들을 집어 넣으면 잡다한 소스 파일들은 프로젝트 딴에서 걸러지고 운영에 필요한 파일들만 집어넣을 수 있다는 것!
결국 CVS를 설정할 때 더 효율적으로 구조를 잡으려면 CVS의 설정을 건드리는 게 아니고 각 프로젝트의 Properties를 보고 Build Path와 이클립스의 CVS설정을 보는 것이 가장 효과적이라는 이야기이다.
아, 중요한 것을 하나 배운 것 같다. 이클립스는 자동화 기능이 너무 좋지만, 제대로 설정을 하지 않으면 반드시 낭패를 경험하게 되므로, 정확한 설정과 무엇보다 어려운 것은 없으니 도전해 보는 것이 중요하지 않을까라고 생각한다.
'IZECT DEV LAB > 웹 프로그래밍' 카테고리의 다른 글
| JSP유지보수 자동화 시스템 구축 (0) | 2011/09/22 |
|---|---|
| 오라클 10g 백업에 관해. (0) | 2010/01/18 |
| 웹 프로그래밍의 구조 그리고 CVS와 Ant (0) | 2009/12/11 |
| IBM dW Live! 세미나 ‘웹 개발 다반사’ (0) | 2009/12/04 |
| MS SQL Exec sp_detach_db 주의해서 사용하기! (0) | 2009/11/20 |
| 자바는 돈되고, 닷넷은 돈 안된다? (4) | 2009/11/16 |

댓글을 달아 주세요