= 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 [wiki:RecipeFtpDownload this recipe] which downloads and untars a file from an ftp server.
=== Bitten Recipe Collection ===
Following are a few more real working recipe to demostrate the bitten recipe commands and their uses.
==== Automation of getting and untar hello-2.3.tar.gz from ftp.gnu.org ====
{{{
}}}
== 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]
== Bitten Master ==
=== How do I create my first build on Admin -> Builds -> Configurations ? ===
From that page, fill in the following fields:
{{{
Name:
Label:
Path:
}}}
and then click
{{{
Add Configuration:
}}}
A new configuration will be created.
=== 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.]
== Test Your installation ==
=== Where is bitten-slave ? ===
{{{
me@ubuntu:~$ which bitten-slave
/usr/bin/bitten-slave
me@ubuntu:~$ head /usr/bin/bitten-slave
#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'Bitten==0.6dev-r559','console_scripts','bitten-slave'
__requires__ = 'Bitten==0.6dev-r559'
import sys
from pkg_resources import load_entry_point
sys.exit(
load_entry_point('Bitten==0.6dev-r559', 'console_scripts', 'bitten-slave')()
)
me@ubuntu:~$
}}}
=== How to I poke bitten server ? ===
{{{
me@ubuntu:~$ bitten-slave http://ubuntu.test.net/projects/hobbit/builds
[INFO ] No pending builds
[INFO ] Shutting down
me@ubuntu:~$
}}}