2009년 7월 28일 화요일

Teamcity 설치

지속적인 통합에 대한 필요성이 증가하면서 최근에 많은 지속적 통합 툴이 등장하고 있다. 오픈 소스 기반으로 개발되는 지속적 통합 툴은 CruiseControl과 Hudson이 가장 많이 사용되고 있다. 최근에 등장한 Hudson도 설치와 설정이 편리하고 다양한 플러그인을 지원하여 많은 개발자들이 사용하고 있다. 상용 지속적 통합 툴로는 Atlassian에서 개발한 Bamboo와 JetBrains에서 개발한 Teamcity가 가장 많이 사용되고 있다. 오픈 소스로 개발하는 CruiseControl과 Hudson도 좋은 툴이지만 여기서는 Teamcity를 이용하여 지속적 통합을 하는것을 예로 보여주겠다. Teamcity는 무료로 20명의 사용자까지 무료로 사용할 수 있으며, 설치와 설정이 쉽고 피드백 기능을 다양하게 지원하고 있어 여러모로 많이 편리하다.

Teamcity 다운로드
Teamcity 무료버전은 아래 주소로 가서 다운로드 받으면 되겠다.
http://www.jetbrains.com/teamcity/download
위주소로 가서 Free Professional Edition을 다운로드 받으면 된다.

Teamcity 설치하기
다운로드 받은 Teamcity 바이너리 설치파일을 더블 클릭하여 설치한다.

Teamcity 설치 환영 화면에서 'Next'버튼을 누른다.



Teamcity 라이선스 정책에 동의하는 화면에서 'I Agree' 버튼을 누른다.



Teamcity 서버를 설치할 경로를 선택한 다음 'Next' 버튼을 누른다.



윈도우 서비스에 Teamcity Build Agent와 Teamcity 서버를 등록할지의 여부를 결정한다. 기본은 Build Agent와 서버를 모두 서비스에 등록할 수 있게 체크된 상태이다.'Next' 버튼을 눌러 다음 화면으로 이동한다. 여기서 주의할점은 Teamcity WAS 서버가 기본으로 TOMCAT 서버를 사용함으로 만약 기존에 TOMCAT이 서버에 깔린 상태라면 충돌이 일어날수 있다. 충돌이 일어나지 않도록 기존에 톰캣 Listening포트를 변경하는것이 필요하겠다.




Teamcity에서 관리할 프로젝트와 각 프로젝트별 설정 정보를 관리하는 디렉토리를 선택한다. 디렉토리를 선택한 다음 'Next' 버튼을 누르면 설치가 시작된다.
마지막으로 Teamcity 서버가 사용할 포트를 설정한다. 기본값으로 설정된 7000을 그냥 사용하여 보자.

이로써 Teamcity 설치가 완료된다. 설치완료후 기본 정보 설정이 필요한데 원하는 정보를 기입하고 저장한다. 기본으로 Admin계정을 생성하여야 할것이다.

참고문헌: 자바 프로젝트 필수 유틸리티

2009년 7월 21일 화요일

Trac 설치 및 기본 플러그인 설치와 설정

Trac은 미국항공우주국의 분사추진 연구소에서 사용할 정도로 전 세계적으로 널리 사용되고 있다. Trac은 아래와 같은 특점이 있음으로 하여 많은 프로젝트를 진행하는 개발자들이 애용한다.

  1. 오픈 소스로 작성되었기 때문에 언제든지 사용자가 소스를 수정하여 사용할 수있다. 참고로 Trac은 Python이라고 불리우는 언어로 만들어졌다.
  2. Trac은 문서, SVN, WBS 등 모든것을 웹 기반으로 관리할 수 있다. 웹 브라우저로 프로젝트 정보에 언제 어디서든 접근할 수 있으며, 누구라도 수정할 수 있다. 히스토리 관리가 가능하기 때문에 변경사항을 추적하기 쉽다.
  3. SVN, VSS, CVS 등 여러 버전 관리 시스템과 연동할 수 있다.

Trac의 설치
Trac은 Python으로 만들어져 있기 때문에 Python언어를 잘 모르는 개발자들한테는 아주 생소한 존재일지도 모른다. Trac을 설치하려면 Apache, Python, mod_python, pysqlite 와 같이 여러 개의 소프트웨어를 함께 설치해야 하기에 좀 번거롭다.

1. 아파치 서버 설치
Apache 웹 서버 설치는 가장 무난하므로 여기서는 생략 하겠다. 단 집고 넘어갈 점이라면 Apache 서버 설치경로 인데 나의 경우 D 드라이버로 정했다.

2. Python 설치
Trac은 Python으로 개발했으므로 Python을 설치해야 한다.
  • 사이트: http://www.python.org
  • 다운로드: http://www.python.org/download/
  • 다운로드 할 파일: Python 2.5.4 Windows installer (Windows binary -- does not include source)
  • 설치 파일: python-2.5.4.msi
Python 설치 파일을 클릭하면 Python 프로그램의 사용자를 지정하는 화면이 나타난다. 모든 사용자가 사용할 수 있게 Install for all users를 선택한 다음 'Next' 버튼을 눌러 다음 화면으로 이동한다.



Python을 설치할 디렉토리를 지정하는 화면에서 C:\Python25를 선택한 다음 'Next'버튼을 누른다.



설치 할 Python의 구성 요소를 선택하는 화면이다. 기본 설정을 그대로 사용한다. 기본값으로 Register Extensions, Tcl/Tk, Documentation, Utility Scripts, Test suite 등을 그대로 설치한다. 'Next' 버튼을 누르면 Python설치가 진행된다. 몇초간 걸리므로 내심하게 기다려주면 되겠다.



오케이, 아래와 같은 창이 뜨면 설치가 성공한것이다. 잊지 말것은 이것은 Windows, DOS용 Python이다. Linux용은 다른 방식으로 설치가 될것이다.(시간나면 Linux용 설치방법까지 업데이트 할 계획이다.) 'Finish'를 기분좋게 클릭하고 설치를 완료하자.



3. mod_python 설치
Apache에서 Python코드를 실행하는 방법은 CGI방식과 Apache 모듈 방식이 있다. (이점은 PHP와 흡사하다, PHP와 Apache를 연동하였던 분이라면 쉽게 무난하게 이해가 가능할 것이다.) 그러나 CGI방식은 속도가 느리므로 크게 권장하지 않고 일반적으로 mod_python Apache모듈을 설치해 모듈 방식으로 Python 코드를 실행한다. 그러기 위헤서는 mod_python을 설치하는 과정이 필요하다. 결국 이 과정자체가 설치이면서 Python과 Apache를 연동하는 과정이기도 하다.
  • 사이트: http://www.modpython.org
  • 다운로드: http://httpd.apache.org/modules/python-download.cgi
  • 설치 파일: mod_python-3.3.1.win32-py2.5-Apache2.2.exe
위에 링크에는 Apache 2.2.용 mod python을 명시했는데 사실상 Apache버전에 마추어 적당한 mod python을 다운로드 받어야 한다.

mod_python 설치 파일을 실행하면 설치 화면이 나타난다. 다음을 눌러 이동한다.



Python이 설치되어 있다면 Python이 설치된 디렉토리 경로를 확인할 수 있다. 레지스터리에 Python설치관련 정보가 남아있으므로 무난히 찾을수가 있겠다. 모듈이 설치 될 기본 경로는 Python Installation Path/Lib/site-packages 이다.



설치 준비 화면이다. 다음을 누르면 설치가 진행된다.



mod_python을 설치하는 중 Apache가 설치된 경로를 지정하는 다이얼로그박스가 뜰것이다. 앞에서 Apache를 설치한 디렉토리를 정해주고 '마침' 버튼을 누르면 모든 설치가 무난히 완료 될것이다.
mod_python을 설치한 후 Apache 설정 파일에 mod_python.so 모듈을 추가해야 한다. Apache를 동적 모듈 로드 모드로 설치를 했으면 이 부분도 무난히 진행이 될것이다. 아파치 설치 디렉토리/conf/httpd.conf 파일을 메모장을 열고 다음과 같이 mod_python.so 파일을 설정한다. httpd.conf 파일을 보면 이미 Dynamic Shared Object(DSO)파일이 설정이 되어진것을 확인 할 수가 있겠다. 그 아래에 우리가 넣은 라이브러리만 추가해주면 된다.



Apache 서비스를 재시작해주고 Apache 서비스가 정상적으로 시작되면 mod_python이 성공적으로 설치가 되었음을 의미한다.

4. Genshi 설치
Genshi는 PHP진영에서 사용되는 smarty나 JAVA진영에서 사용되는 Velocity와 같은 템플릿 엔진이다. 단 Genshi는 Python언어 용이라는 점이다. 우리가 설치할 Trac의 버전(0.11) Genshi는 디자인 템플릿 엔진으로 사용함으로 Trac을 돌리기 위해서는 필수로 설치를 해줘야만 한다.
  • 사이트: http://genshi.edgewall.org/
  • 다운로드: http://genshi.edgewall.org/wiki/Download
  • 설치 파일: Genshi-0.5.1.win32-py2.5.exe
Genshi 설치 파일을 클릭하면 Genshi 설치 화면이 나타난다. '다음' 버튼을 눌러 이동한다.



mod python을 설치했을 때 처럼 python경로를 설정해주는 창이 뜰것인데 기본으로 설정된 사항을 묵인하고 '다음' 버튼을 누른다. 그다음도 몇몇 창이 뜰것인데 모두 묵인으로 '다음' 버튼을 클릭하여 설치를 진행한다.



5. pysqlite 설치
Trac은 sqlite DBMS를 사용한다. pysqlite는 Python언어환경에서 sqlite DBMS접근을 지원하도록 만들어진 라이브러리이다. JAVA에서 놓고보면 sqlite용 jdbc driver인 셈이다. Trac을 사용하려면 필수적으로 pysqlite를 설치해야만 한다. (참 필요로 하는 라이브러리가 참 많네...)
  • 사이트: http://trac.edgewall.org/wiki/PySqlite
  • 다운로드: http://oss.itsystementwicklung.de/trac/pysqlite/wiki#Downloads
  • 설치 파일: pysqlite-2.5.5.win32-py2.5.exe
pysqlite 설치 파일을 클릭하면 pysqlite 설치 화면이 나타난다. '다음' 버튼을 눌러 이동한다.



mod python을 설치했을 때 처럼 python경로를 설정해주는 창이 뜰것인데 기본으로 설정된 사항을 묵인하고 '다음' 버튼을 누른다. 그다음도 몇몇 창이 뜰것인데 모두 묵인으로 '다음' 버튼을 클릭하여 설치를 진행한다.



6. setuptools 설치
setuptools는 Python언어로 만들어진 툴인데 Python으로 만들어진 프로그램들을 자동으로 다운로드 + 설치 해준다. setuptools는 Trac관련 plugins를 설치할 때 "아주" 유용함으로 필히 설치를 해두도록 하자.
  • 사이트: http://peak.telecommunity.com/DevCenter/setuptools
  • 다운로드: http://peak.telecommunity.com/dist/ez_setup.py
  • 설치 파일: ez_setup.py
다운로드 받은 파일에서부터 알수 있다 싶이 이 프로그램은 python으로 만들어진 프로그램이라 확장자가 py로 되어있다. 이렇게 py확장자를 가진 파일들은 python 을 이용하여 실행해야 한다. Python설치 디렉토리의 bin폴더에 가서
python.exe ez_setup.py
하면 되겠다. 만약 python 기본디렉토리를 path에 잡아 놓은 상태라면 구지 python설치경로/bin까지 가지 않아도 되겠다. 아래 그림에서처럼 메시지가 뜨면 설치가 성공한것이다.



7. Trac 설치
지금까지 설치한것은 이번에 설치하게 될 Trac을 설치하기 위하 초기작업이라고 보면 되겠다.(Trac이라는 녀석 참 까탈스럽기도 하다.ㅡㅡ;) 본격적으로 Trac 설치를 해보자~
  • 사이트: http://trac.edgewall.org
  • 다운로드: http://trac.edgewall.org/wiki/TracDownload
  • 설치 파일: Trac-0.11.4.win32.exe
Trac 설치 파일을 실행하면 Trac 설치 화면이 나타난다. '다음' 버튼을 눌러 설치를 진행한다.



mod python을 설치했을 때 처럼 python경로를 설정해주는 창이 뜰것인데 기본으로 설정된 사항을 묵인하고 '다음' 버튼을 누른다. 그다음도 몇몇 창이 뜰것인데 모두 묵인으로 '다음' 버튼을 클릭하여 설치를 진행한다.



8. 새 프로젝트 생성
샘플용으로 새 프로젝트를 생성해 보자. 새로 생성할 프로젝트명을 sample로 정하고 생성을 시도하겠다. Trac에서 새로운 프로젝트를 생성하려면 PYTHON_설치디렉토리\Scripts\trac-admin.exe 프로제트_REPOSITORY initenv 명령어를 실행한다. 우선 먼저 Trac 프로젝트를 관리하는 디렉토리를 생성한다. 나의 경우는 sample이라는 이름으로 E:\Trac\sample 이라는 경로에 빈 폴더를 만들고 Trac 프로젝트를 관리하겠다. 디렉토리를 생성한 후 sample 프로젝트는 trac-admin.exe의 initenv 명령을 실행하여 생성한다. 명령 프롬프트에서 아래 명령을 실행하여 sample 프로젝트를 생성한다.
PYTHON_설치디렉토리\Scripts\trac-admin.exe E:\Tracsample initenv
위 명령어를 실행하면 다음과 같은 과정으로 sample프로젝트가 생성된다.



연결할 데이터베이스를 설정한다. 기본 설정을 사용하므로 엔터를 누른다.



사용할 버전 관리 시스템의 종류를 설정한다. 나의 경우는 SVN을 사용할 것이기 때문에 그냥 엔터를 치고 넘어간다.



버전 관리 시스템의 저장소를 설정한다. sample 프로젝트의 저장소는 E:\Repository\sample로 설정한다. 버전 관리 시스템의 저장소로 설정한 E:\Repository\sample 디렉토리는 자동으로 생성되지 않는다. 이 디렉토리는 SVN 저장소를 다룰 때 생성한다.



위 네가지 설정을 완료하면 Trac에서 사용할 sample 프로젝트가 생성된다. sample 프로젝트가 정상적으로 생성되면 E:\Trac\sample 디렉토리 아래에 여러가지 Trac에 관련된 디렉토리와 파일들이 생성되겠다.

Apache에 VirtualHost 추가하기
sample 프로젝트를 생성한 다음에 설정할 부분은 Apache에서 sample 프로젝트를 인식할 수 있게 VirtualHost를 추가하는 것이다. Trac으로 생성하는 모든 프로젝트를 관리하려면 VirtualHost를 추가해야 한다. Apache 서버의 httpd-vhosts.conf 파일에 다음 설정을 추가한다.

<VirtualHost *:80>
    <Location /trac>
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnvParentDir E:\Trac
        PythonOption TracUriRoot /trac
    </Location>
    <LocationMatch "/trac/[^/]+/login">
        AuthType Basic
        AuthName "Trac"
        AuthUserFile E:\Repository\htpasswd
        Require valid-user
    </LocationMatch>
</VirtualHost>

위 Apache 설정을 보면 첫 번째 <Location /trac> 엘리먼트는 /trac URL로 접근할 때 앞에서 설치한 mod_python 모듈을 사용했으며, E:\Trac 디렉토리를 기본 디렉토리로 설정하였다.

두번째 <LocationMatch "/trac/[^/]+/login"> 엘리먼트는 /trac/sample/login 과 같은 URL에 대한 요청은 인증이 필요하다고 설정한다. E:\Repository\htpasswd 파일은 인증할 때 사용할 파일로 설정하였다. htpasswd를 생성하는 방법은 아래에 언급할것이니 내심하게 쭉 내려보기 바란다.

그리고 httpd.conf파일중에서 httpd-vhosts.conf 파일 로드 해주는 라인중 앞 주석문을 제거한다. 제거후 형태는 아래와 같이 되겠다.

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Apache 설정을 완료한 다음 Apache Service를 다시 시작한다.

참고문헌: 자바 프로젝트 필수 유틸리티

2009년 7월 16일 목요일

Eclipse(MyEclipse) 언어팩 다운로드 주소

Eclipse (MyEclipse) 언어팩 다운로드 주소...

Eclipse 3.4 ganymede LP 업데이트 주소
http://download.eclipse.org/technology/babel/update-site/ganymede/

Eclipse 3.5 galileo LP 업데이트 주소
http://download.eclipse.org/technology/babel/update-site/galileo/