Version 68 (modified by tj_yang, 16 years ago) (diff) |
---|
Frequently Asked Questions
Here you can find answers to frequently asked questions about Bitten.
Overview
- General
- 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?
- Bitten Master
- Test Your installation
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/
I want it. How do I get it?
To install the bitten slave only see Bitten Slave Download and Install.
To install the bitten master (on your Trac server) see here: http://bitten.edgewall.org/wiki/Documentation/install.html.
Also see Bitten Installation.
What is the difference between Bitten and Buildbot ?
Bitten | Buildbot | |
programming lanauage used | Python | Python |
Master <-> Slave port | http(port 80) | special port number |
As Trac Plugin ? | Yes | Not Yet |
Software Dependency | Python | Python and Twisted |
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?
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.
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
<!-- Tested on fedora 9 --> <build description="Getting files" xmlns:sh="http://bitten.cmlenz.net/tools/sh"> <step id="Getting hello-2.3.tar.gz from ftp.gnu.org using wget"> <sh:exec file="/usr/bin/wget" args="ftp://ftp.gnu.org/pub/gnu/hello/hello-2.3.tar.gz"/> </step> <step id="untar hello-2.3.tar.gz"> <sh:exec executable="gtar" args="xzf hello-2.3.tar.gz"/> </step> </build>
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
Bitten Master
How do I create my first build on Admin -> Builds -> Configurations ?
You see following menu on the right hand side.
Add Configuration: Name: Label: Path: Add
filling following fields,
Name: Labele: Path:
and then clieck "Add"
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.
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:~$
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