빌드서버 구축시 참고내용¶
· 64비트용으로 만든 프로젝트의 unit test를 실행하기 위해 빌드서버는 64비트 OS여야 함
· 설치해야 하는 프로그램들
o svn.exe파일이 path에 잡혀있어야 함(visualSVN Server설치하고 visualSVN서비스는 시작하지않음)
o VS 6.0, VS.NET 2003, VS.NET 2005 순서대로 설치해야 하며 VS.NET 2005 설치시(x64빌드 도구 선택해서 같이 설치해야 64비트용 프로젝트 빌드됨)
o java jdk, ant 설치하고 JAVA_HOME, ANT_HOME등을 환경변수에 지정하고 path도 잡아야 함, Ant의 빌드결과를 CC.NET에서 확인할려면 dashboard.config에 xslReportBuildPlugin값 넣어야 함(자세한것은 CC.NET문서 참고)
o NUnit, NAnt, TortoiseSVN, IIS, SMTP서버, SQL Client, Window Powershell(윈도우용 shell 프로그램)
개발 시 참고내용
· 솔루션이나 프로젝트 파일의 참조 라이브러리 위치는 상대경로여야 한다.(메모장으로 .proj 파일 열어서 hintpath부분 확인)
· 참조하는 로컬폴더의 위치는 모두 동일해야 한다.(ex> d:\commonLib\Base …)
Ccnet.config 예
<project name="IPMSC2" queue="PROJ">
<triggers>
<scheduleTrigger time="
</triggers>
<webURL>http://70.70.70.26:4989/server/local/project/IPMSC2/ViewProjectReport.aspx</webURL>
<labeller type="dateLabeller" />
<sourcecontrol type="svn">
<trunkUrl>http://x.dev:8080/svn/IPMSCv2.root/IPMSC</trunkUrl>
<workingDirectory>D:\CruiseControlBuild\IPMSC2</workingDirectory>
<autoGetSource>true</autoGetSource>
<cleanCopy>true</cleanCopy>
</sourcecontrol>
<tasks>
<devenv>
<solutionfile>D:\CruiseControlBuild\IPMSC2\IPMSC.sln</solutionfile>
<configuration>Release</configuration>
<buildtype>ReBuild</buildtype>
<version>VS2005</version>
<buildTimeoutSeconds>1200</buildTimeoutSeconds>
</devenv>
<buildpublisher>
<sourceDir>D:\CruiseControlBuild\IPMSC2\IPMSC_Console\bin\Release</sourceDir>
<publishDir>D:\CruiseControlRelease\IPMSC2</publishDir>
<useLabelSubDirectory>true</useLabelSubDirectory>
<alwaysPublish>false</alwaysPublish>
</buildpublisher>
<nant>
<executable>nant.bat</executable>
<baseDirectory>D:\CruiseControlRelease</baseDirectory>
<nologo>true</nologo>
<buildFile>makeZipFile.build</buildFile>
</nant>
</tasks>
</project>
NAnt 파일 makeZipFile.build
<?xml version="1.0" encoding="utf-8"?>
<project name="Zip Example" default="makeZip">
<target name="makeZip">
<echo message="## CCNetLabel[${CCNetLabel}]" />
<echo message="## CCNetProject[${CCNetProject}]" />
<zip zipfile="D:\CruiseControlRelease\${CCNetProject}\${CCNetLabel}\${CCNetProject}.${CCNetLabel}.zip">
<fileset basedir="D:\CruiseControlRelease\${CCNetProject}\${CCNetLabel}" defaultexcludes="true" failonempty="true">
<include name="**/*" />
</fileset>
</zip>
<delete>
<fileset basedir="D:\CruiseControlRelease\${CCNetProject}\${CCNetLabel}" defaultexcludes="false">
<include name="**/*" />
<exclude name="${CCNetProject}.${CCNetLabel}.zip" />
</fileset>
</delete>
</target>
</project>
관련 URL
http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET
이용 사례 정리한 것 (20110304)