Trac 서버는 Apache(http, https), Python 기반에서 작동한다.
Subversion 프로토콜(svn)을 사용하지 않고 웹서버(Apache) 기반에서 사용하는 이유는
웹의 편리한 인터페이스를 사용하고 Subversion과 Trac의 통합관리를 하기 위함이다.
01. Apache 서버를 설치한다.
http://httpd.apache.org/download.cgi 에서 최신 버전의 Apache http Server를 구할 수 있다.
2008-12-14에 배포된 apache_2.2.11-win32-x86-openssl-0.9.8i.msi 파일을 다운로드 받아서 설치한다.
설치시 특별한 옵션은 없으며 다음(Next)를 눌러 설치한다.
02. Apach_IIS_SupportTool을 설치한다.
CruiseControl.NET의 Web DashBoard는 IIS 기반에서 돌아가기 때문에 IIS SupportTool을 설치해야 한다.
설치 완료 후
cmd /k "cd /d C:\Program Files\Support Tools"
httpcfg set iplisten -i 192.168.0.2
192.168.0.2 대신에 현재 컴퓨터에 설정된 IP를 입력합니다.아래와 같이 결과가 나오면 됩니다.
HttpSetServiceConfiguration completed with 0.
03. SVN for Apache
SVN은 여러가지 버전으로 배포됩니다. 그중에서 아파치용으로 배포되는 SVN을 다운로드 받습니다.
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100
위 페이지에서
이름 : Setup-Subversion-1.6.2.msi
설명 : Windows MSI installer with the basic win32 binaries - includes binaries for Apache 2.2.x (2.2.9 or higher is required within the 2.2.x series)
를 다운로드 받습니다.
설치시 특별한 옵션은 없으며 다음(Next)를 눌러 설치한다.
04. Edit httpd_conf
"C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf"
위 경로의 설정 파일을 왼쪽의 파일로 덮어쓰기 한다.05. Make Root folder
TRAC 시스템의 Root 폴더를 만든다. (D:\TRAC_SYSTEM)
06. htpasswd and authz
D:\TRAC_SYSTEM\Repos 폴더에 2개의 파일을 생성한다.
htpasswd : Apache 서버는 htpasswd 파일을 이용하여 사용자 ID / PW 를 관리한다.
authz : Trac 시스템의 프로젝트 접근권한 설정을 관리한다.
[sample:/] '프로젝트명
sampleuser = rw '사용자 권한
* = r '등록되지 않은 모든 사용자의 권한을 읽기만(r) 허용
![]() authz 파일 생성 | ![]() htpasswd 파일 생성 및 Account 추가 |
07_1. Python 설치
http://www.python.org/download
위 페이지에서
이름 : Python 2.6.4 Windows installer
를 다운로드 받아서 설치합니다.
07_2. SVN-python
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100
위 페이지에서
이름 : svn-python-1.6.2.win32-py2.6.exe
설명 : Python 2.6 bindings installer for Win32.
를 다운로드 받아서 설치합니다.
08. Gensi
http://genshi.edgewall.org/wiki/Download#installers
위 페이지에서
이름 : Genshi-0.5.1.win32-py2.6.exe
을 다운로드 받아서 설치합니다.
09. setuptools
http://peak.telecommunity.com/dist/ez_setup.py
위 파일을 다운받아서
C:\Python26\python.exe ez_setup.py
위와 같이 실행하면 자동으로 설치된다.
10. ModPython(python 2.6)
다운 받아서 설치한다.
11. PySqlite
http://oss.itsystementwicklung.de/trac/pysqlite/#Downloads
위 페이지에서
이름 : Python 2.6
을 다운 받아서 설치한다.
12. Enscript(Syntex Hilighting)
http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16960
위 페이지에서
이름 : enscript-1.6.3-9-bin.exe
를 다운 받아서 설치한다.
13. Trac
http://trac.edgewall.org/wiki/TracDownload
위 페이지에서
이름 : Trac-0.11.4.win32.exe
를 다운 받아서 설치한다.14. Templeate For Korean
한국어 템플릿을 복사한다.
영어로 작성되어 있는 Python 파일의 일부를 한국어로 수정하였음.
Trac 0.11.4 버전에 맞게 수정함.
15. TRAC_TOOLS
trac에 svn commit을 할 경우
trac-post-commit-hook
trac-pre-commit-hook
위의 2가지 hook으로 commit 제어가 가능하다.
16. Plugins
Trac 시스템에 설치가능한 플러그인
17. CreateProject
프로젝트를 자동으로 생성해주는 배치 파일과 환경설정 파일 모음
[프로젝트 생성]
<사용법> CreateProject [프로젝트 이름]
<예제> CreateProect TTF_Project
[Trac 시스템에 Account 추가]
<사용법> Add_Account [추가할 AccountID]
<예제> Add_Account Administrator
[AccountID를 Project에 추가]
<사용법> Add_Permission_User [프로젝트 이름] [AccountID]
<예제> Add_Permission_User TTF_Project Administrator
18. CruiseControl.net
http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET
http://sourceforge.net/projects/ccnet/files/
위 링크에서 아래의 2개 파일을 받아서 설치한다.
CruiseControl.NET-1.4.4-SP1-Setup.exe
CruiseControl.NET-CCTray-1.4.4-SP1-Setup.exe
C:\Program Files\CruiseControl.NET\server\ccnet.config 파일에 XML 형식으로 프로젝트를 추가한다.
(ccnet.exe는 실행중에 ccnet.config 파일을 참조하여 작동한다.)
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<project name="MyFirstProject">
</project>
</cruisecontrol>
ccnet.config 파일에 XML 형식으로 컨트롤 블럭을 추가하여 CruiseControl.net을 제어할 수 있다.
Source Control Block
http://confluence.public.thoughtworks.org/display/CCNET/Subversion+Source+Control+Block
VSS 컨트롤 블럭
http://confluence.public.thoughtworks.org/display/CCNET/Visual+Source+Safe+Source+Control+Block
FTP 소스 컨트롤 블럭
http://confluence.public.thoughtworks.org/display/CCNET/FTp+Source+control
파일시스템 소스 컨트롤 블럭
http://confluence.public.thoughtworks.org/display/CCNET/Filesystem+Source+Control+Block
Task Control Block
http://confluence.public.thoughtworks.org/display/CCNET/Visual+Studio+Task
MS Build Task
http://confluence.public.thoughtworks.org/display/CCNET/MsBuild+Task
Executable Task
http://confluence.public.thoughtworks.org/display/CCNET/Executable+Task
FTP Task(Publisher)
http://confluence.public.thoughtworks.org/display/CCNET/Ftp+task+-+Publisher
Trigger Block
Timeout Configration
ccnet.config에 "MyFirstProject" msbuild로 추가하였을 경우 설정.
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<!-- This is your CruiseControl.NET Server Configuration file. Add your projects below! -->
<!--
<project name="MyFirstProject" />
-->
<project name="MyFirstProject">
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe</executable>
<workingDirectory>D:\TTF Project\StringFunc</workingDirectory>
<projectFile>StringFuncion.sln</projectFile>
<buildArgs>/v:quiet /noconlog /p:Configuration=Debug</buildArgs>
<targets>Build;StringFuncion</targets>
<timeout>900</timeout>
<logger>c:\Program Files\CruiseControl.NET\server\Rodemeyer.MsBuildToCCNet.dll</logger>
</msbuild>
</tasks>
</project>
</cruisecontrol>
Improved MSBuild Integration(logger에 빌드 결과를 깔끔하게 출력)
덧글을 달아 주세요