Here is one sample build recipe, with comments below. {{{ <build description="Building System" xmlns:svn="http://bitten.cmlenz.net/tools/svn" xmlns:sh="http://bitten.cmlenz.net/tools/sh" xmlns:python="http://bitten.cmlenz.net/tools/python" xmlns:x="http://bitten.cmlenz.net/tools/xml"> <step id="Checkout"> <sh:exec file="echo" args="Checkout start"/> <svn:checkout url="file:///C:/Trac/Repo/project" path="" revision="${revision}"/> <sh:exec file="echo" args="Checkout complete"/> </step> <step id="Build"> <sh:exec file="echo" args="Build start"/> <sh:exec file="msbuild.exe" args="project.sln @C:\\Builds\\utils\\logger\\msbuild.rsp"/> <x:transform src="msbuild-output.xml" dest="msbuild-result.xml" stylesheet="..\\utils\\logger\\msbuild.xsl" /> <sh:exec file="type" args="msbuild-result.xml"/> <sh:exec file="echo" args="Build complete"/> </step> <step id="Smoke Test"> <sh:exec file="echo" args="Test start"/> <python:exec file="C:\Python25\Scripts\qmtest.py" args="-DC:\\Builds\\tdb report -o..\\PreDist\\results.xml c:\\Builds\\PreDist\\results.qmr"/> <x:transform src="C:\\Builds\\PreDist\\results.xml" dest="test-results.xml" stylesheet="C:\\Builds\\Utils\\logger\\qmtest.xsl" /> <report category="test" file="test-results.xml" /> <sh:exec file="echo" args="Test complete"/> </step> <step id="doxygen" description="Generate Documentation"> <sh:exec executable="doxygen" args=".doxyfile" /> </step> <step id="rsync" description="Update Trac Doxygen"> <sh:exec executable="rsync" args="-rvz --delete doxygen_output/ user@trac-server:doxygen_output" /> </step> <step id="Package"> <sh:exec file="echo" args="Predist start"/> <sh:exec file="C:\Program Files\NSIS\makensis" args="c:\\Builds\\project.nsi"/> <sh:exec file="echo" args="Predist complete"/> </step> </build> }}} '''Comments:''' * Checkout: Checks out the latest source into the build directory. * Build: Uses MSBUILD to build the project, using a custom logger (see [http://confluence.public.thoughtworks.org/display/CCNETCOMM/Improved+MSBuild+Integration here]) and an .xsl file to make the output from the logger useful (based on the msbuild2ccnet.xsl file mentioned on the link) * Smoke Test: Uses [http://www.codesourcery.com/qmtest qmtest] to run a database of tests, and report the results via bitten. The tests themselves are [http://www.autoitscript.com/autoit3 AutoIt] scripts. * Doxygen: Doxygen documentation can be built using Bitten. Then the server hosting Trac and using the Doxygen plugin is updated using rsync. * Package: Finally, if all the above succeeds, use [http://nsis.sourceforge.net/Main_Page NSIS] to create an install package that can be deployed on the target system.
E-mail address and user name can be saved in the Preferences.