빌드서버 구축시 참고내용

·     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="03:00" buildCondition="ForceBuild" name="Scheduled" />

    </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)

Posted by 파이팅야
,