= Frequently Asked Questions = Here you can find answers to frequently asked questions about Bitten. [[PageOutline(2-3, Overview, inline)]] == General == === What is Bitten? === Bitten is a [http://trac.edgewall.org/ Trac] extension for continuous integration. It uses a distributed build model, where one or more "slaves" run the actual tests, and a "master" gathers the results and displays them nicely on a web page. See the [wiki:WhitePaper white paper] for the original motivation behind the project. [[Image(http://www.edgewall.org/gfx/opensource-75x65.png, width=75, height=65, align=right)]] === What license governs the use of Bitten? === Bitten is released under the [wiki:License revised BSD license], which is a liberal open source license that has been [http://opensource.org/licenses/bsd-license.php approved] by the [http://opensource.org/ Open Source Initiative (OSI)]. === Can I see an example? === You can see Bitten live in action at the [http://bitten.edgewall.org/build/trunk Bitten build page]. === How is Bitten used in other organizations? === An detailed overview of using bitten for the Boost project, an open-source c++ library, can be seen at [https://www.boostpro.com/trac/projects/boost/] === Comparison of Bitten with other Continuous Integration Systems === please see [http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix CI Comparison] == Installation == === Bitten Slave === To install the bitten slave only see [wiki:EasyDownloadAndInstall Bitten Slave Download and Install]. === Bitten Master (Trac plugin) === To install the bitten master (on your Trac server) see here: [http://bitten.edgewall.org/wiki/Documentation/install.html]. For more information see also: [http://bitten.edgewall.org/wiki/Documentation/install.html Bitten Installation]. == Bitten Recipe == === What is the bitten recipe file? === The bitten recipe file is a XML file that executed by bitten-slave to download, compile, run, and test your code. This code building process can be automated into bitten XML recipe. The XML recipe will need to be interpreted by bitten-slave command. It is similar in concept to ant, although it is more limited and domain-specific tool than ant. === What commands are available in the bitten recipe? === See [http://bitten.edgewall.org/wiki/Documentation/commands.html Bitten Recipe Commands.] === Can I see some sample bitten recipes? === See this sample for [wiki:BittenSampleRecipes Microsoft Visual Studio projects using MSBUILD] or this one for [wiki:BittenSampleJavaRecipe Java projects using JUnit and Ant]. See also this recipe to [wiki:RecipeFtpDownload download and untar a file from an ftp server]. == Bitten Slave == === How do I point the bitten slave to my build configuration? === If your trac installation is hosted at trac.xxx.com, and you have a project called my-project in trac, the command line would look like: {{{ bitten-slave https://trac.xxx.com/my-project/builds \ -u -p }}} === How do I schedule the bitten slave to run at a certain time of the day? === First use your operating system's task scheduler ([http://www.ss64.com/nt/schtasks.html schtasks] for Windows and [http://www.adminschoice.com/docs/crontab.htm cron] for unix/OSX) to run the bitten slave at the desired times. Then run the bitten nslave with the "--single" (-s for short) option so that each launch of the slave exits after a single build instead of continually polling for more builds. === What options does the Bitten slave support? === See [wiki:BittenSlaveOptions Bitten Slave Options.] === How does the Bitten slave authenticate on my Trac-platform with !AccountManagerPlugin? === The /trac.cgi/builds-URL should be protected in the server configuration just like the /login-Location. === How can I quickly run the slave without a repository checkout? === See [wiki:BittenRunSlaveLocally Running the Bitten slave locally] === How to I test my bitten slave connection to the server? === {{{ me@ubuntu:~$ bitten-slave http://ubuntu.test.net/projects/hobbit/builds [INFO ] No pending builds [INFO ] Shutting down me@ubuntu:~$ }}} == Bitten Master == === How do I create my first build on Admin -> Builds -> Configurations ? === * Assume you have path of /srv/svn as Subversion repository head. {{{ [root@ibm ~]# svn ls file:///srv/svn/projects branches/ trunk/ [root@ibm ~]# }}} * From following screenshot ** Name: "4.3" ** Label: "trunk" ** Path: "project/trunk" ** and then click,Add Configuration: [[Image(bitten-server-config.jpg)]] * Following screenshot shows a very simple build XML recipe, it only echo a helloworld string. [[Image(bitten-server-recipe.jpg)]] * bitten-build-status [[Image(bitten-build-status.jpg)]] === My slave connects to the build master, why doesn't it start a build? === See [wiki:BittenBuildWontStart Build Won't Start]. === How do I add one of those cool over-time charts to my build page? === The charts are added automatically if your recipe creates junit reports and/or code-coverage reports. To see a sample recipe that will produce junit test results from Java see [wiki:BittenSampleJavaRecipe build recipes for Java projects using JUnit and Ant]. To create your own custom charts, see [wiki:AddingCharts Adding Custom Charts to Bitten.]