Wednesday 19 November 2008

Getting started with Cruisecontrol.net

After installing CC.net, a configuration file needs to be created (ccnet.config), all project settings are located in it.

  1. Ccnet.config

In order to get CC.net server up and running, its configuration file needs to be edited, Basic structure of the config file is:

<?xml version="1.0" encoding="utf-8" ?>

<cruisecontrol>

    <!-- myproject project -->

    <project name = "myproject1">

        <!--project URL-->

        <webURL>http://localhost/ccnet</webURL>        

        <!--Project directories-->

     <workingDirectory>C:\projects\myproject1</workingDirectory>

     <artifactDirectory>\\computername\Continious Integration\project1\Artifacts</artifactDirectory>        

        <!-- Current Build date for build identification purposes-->

        <labeller type="dateLabeller"/>


 

        <!-- Interval when the build process will be triggred-->

        <triggers> <!-- Check every 1,5 hours for modifications-->

            <intervalTrigger seconds="5400" buildCondition="IfModificationExists"    />

        </triggers>        

        <!-- Source Control in use and our project location-->

        <sourcecontrol type="vss">

            <project>$/VSSSOURCE/myproject1</project>

            <username>myusername</username>

            <password>password</password>

            <ssdir>\\VSSSOURCE</ssdir>

        </sourcecontrol>        

        <tasks>            

         <!--USE MSDev enviroment for building project-->

         <devenv>

             <solutionfile>C:\projects\myproject1\project1.sln</solutionfile>

             <configuration>debug</configuration>

         </devenv>

            <!--NANT is used for build and test purposes-->

         <nant>

             <executable>C:\nant\bin\nant.exe</executable>

             <buildFile>C:\Continious Integration\build files\project1.build</buildFile>

                <logger>NAnt.Core.XmlLogger</logger>

                <buildArgs>fxcop coverage coverage.explr simian</buildArgs>                

         </nant>

            <!-- NUnit to Run the tests-->

            <nunit>

                <path>C:\Program Files\NUnit 2.4.8\bin\nunit-console.exe</path>

                <assemblies>

                    <assembly>C:\projects\myproject1\myproject_UNITTEST.dll</assembly>                    

                </assemblies>

            </nunit>            

        </tasks>        

        <publishers>

            <!-- merge xml -->

            <merge>

                <files>

                    <file>C:\results\CoverageReport.xml</file>    <!-- NCover code coverage Results -->

                    <file>C:\results\fxcop.xml</file> <!-- FxCop -->

                    <file>C:\results\simian.xml</file> <!-- Similarity analyser SIMIAN report -->

                </files>

            </merge>        

            <!--Email notification and logs begin here-->

         <!--email notification to groups depending on build and test results -->

         <email from="buildautomation@mail.box" mailhost="mail.mail.box" includeDetails ="TRUE">

         <!--USERS-->

             <users>

                    <user name="user1" group="TestQA" address="user1@mail.box" />                

                </users>

         <!-- Groups in which users are classified -->        

             <groups>

                 <group name="TestQA" notification="always"/>

                 <group name="developers" notification="always"/>

             </groups>

                
 

         </email>                        

         <statistics/>

         <xmllogger/>                    

     </publishers>        

    </project>    

</cruisecontrol> 


If there are no errors then the server will look like this


 

No comments: