Game Development Reference
In-Depth Information
Figure 4.2. The CCTray user interface.
the CCNet server XML file, we could use the <statistics> tagtogeneratethe
buildfailurerateovertime. Figure4.1 showswhatthewebsitelookslike.
CCTray is an optional tool that runs in the Windows System Tray. It provides
feedback of the build progress as well as gives the ability to kick off builds on the
CCNet server. Moreover, users can volunteer to fix builds and have their username
showupinotherCCTrayclientsasthepersonfixingthebuild. Figure4.2 shows
what CCTray looks like.
4.2.2 Things to Know Before Getting Started
What your team needs to know and what can be automated can be broken down to
the following three tasks: build status notification, asset/build generation, statistics
and unit/build/regression testing. First, build status notification allows the team
to keep a constant eye on the state of the build. As soon as someone checks
in code that prevents the project from compiling, the team can find out how it
broke through the change log in the Web Dashboard. The change log is pulled
down from the source control project specified in the CCNet XML configuration
file. CCNet provides support for multiple source control applications including
Perforce, Subversion, Alienbrain, and Git. An example of how to set up Perforce
in the server XML file can be found in Section 4.3.2. Notification of changes can
be done in the form of an email or in the CCTray.
Asset and build generation involve more work because they involve the compiler-
, asset- and content-generation tools. CCNet can break down each step of the build
process into CCNet projects that can run individually or can trigger other parts of
the pipeline to start. It is up to the build engineer to configure the server to meet
the team's needs. An example of how to kick off nightly builds is covered later in
Section 4.3.2.
CCNet provides support for NUnit. NUnit is a unit testing framework for all
.NET languages written in C#. Its test results can be caught by CCNet and be
included in the build results. If there is a task your team needs that is not supported,
there is an extendable .NET plug-in framework in CCNet. You can, for example,
 
Search WWH ::




Custom Search