Frequently Asked Questions
Here you can find answers to frequently asked questions about Bitten.
Overview
- General
- Installation
- Bitten Recipe
-
Bitten Slave
- How do I point the bitten slave to my build configuration?
- How do I schedule the bitten slave to run at a certain time of the day?
- What options does the Bitten slave support?
- How does the Bitten slave authenticate on my Trac-platform with AccountManagerPlugin?
- How can I quickly run the slave without a repository checkout?
- How to I test my bitten slave connection to the server?
- When I run the slave, I get an "Internal server error" with no other explanation. How can I fix this?
- Bitten Master
General
What is Bitten?
Bitten is a 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 white paper for the original motivation behind the project.
What license governs the use of Bitten?
Bitten is released under the revised BSD license, which is a liberal open source license that has been approved by the Open Source Initiative (OSI).
Can I see an example?
You can see Bitten live in action at the 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/
- The open-source International Components for Unicode (ICU) project uses bitten in the ICU Bug System
Comparison of Bitten with other Continuous Integration Systems
please see CI Comparison
I don't see Bitten anywhere in the comparisons - everything except Bitten!!
From the CI Comparison page:
" ... I would also love to see Bitten in this matrix. ..." - Alexandre Franke, Jan 27, 2009 07:41
How do you post Bitten events to the timeline?
Bitten events are automatically posted to the Trac timeline.
Does Bitten work with source control backends other than Subversion?
Currently it is only known to work with SVN.
Installation
Bitten Slave
To install the bitten slave only see 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.
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 a more limited and domain-specific tool than ant.
What commands are available in the bitten recipe?
Can I see some sample bitten recipes?
See this sample for Microsoft Visual Studio projects using MSBUILD or this one for Java projects using JUnit and Ant. See also this recipe to download and untar a file from an ftp server. See also this recipe to build from a monotone repository.
Can slaves know which platform they're building?
If a slave can build both the gcc 4.1 and gcc 4.3 target platforms, it will need to know which one is to be built. The ${platform} variable, introduced in #376, may be used for this purpose, for example the recipe file would look like this:
<build xmlns:c="http://bitten.cmlenz.net/tools/c"> <step id="compile"> <c:make target="all" args="GCC_VERSION=${platform}"/> </step> </build>
What variables are available in recipe files?
- revision: the code revision being built
- path: the working folder into which to check out and build code
- platform: the target platform being built, as listed on the admin page
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 <username> -p <password>
How do I schedule the bitten slave to run at a certain time of the day?
First use your operating system's task scheduler (schtasks for Windows and 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?
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 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:~$
When I run the slave, I get an "Internal server error" with no other explanation. How can I fix this?
This issue may come up after upgrading your trac version. One solution can be found here: http://www.exolete.com/bitten-problems-upgrading-trac-sqlite-postgresql
Bitten Master
How do I create my first build on Admin -> Builds -> Configurations ?
See here: creating a new build configuration.
My slave connects to the build master, why doesn't it start a build?
See 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 build recipes for Java projects using JUnit and Ant. To create your own custom charts, see Adding Custom Charts to Bitten.
How do I add "target platforms" ?
You can see slave configuration from using a command like "bitten-slave -v http://192.168.1.10/trac/builds". This will give output like the following:
- Fedora 9 OS sample
[DEBUG ] Sending slave configuration: \ <slave name="ibm"><platform processor="i686">i686</platform>\ <os version="2.6.25-14.fc9.i686" family="posix">Linux</os></slave>
- Windows XP
[DEBUG ] Sending slave configuration: \ <slave name="inspiron531"><platform processor=""/>\ <os version="XP" family="nt">Windows</os></slave>
Attachments (5)
- bitten-server-recipe.jpg (125.7 KB) - added by anonymous 16 years ago.
-
bitten-build-status.jpg
(70.2 KB) -
added by tj_yang@… 16 years ago.
screenshot of a bitten build status
-
bitten-server-recipe.2.jpg
(125.7 KB) -
added by tj_yang@… 16 years ago.
A simple helloworld recipe on bitten server
-
bitten-timeline.jpg
(69.3 KB) -
added by tj_yang@… 16 years ago.
a successful build display in trac timeline
-
bitten-server-config.jpg
(97.2 KB) -
added by tj_yang@… 16 years ago.
configuration screenshot of bitten server
Download all attachments as: .zip