Edgewall Software

Changes between Initial Version and Version 1 of Bitten Install


Ignore:
Timestamp:
Sep 1, 2005, 1:14:26 AM (19 years ago)
Author:
cmlenz
Comment:

Initial version of installation guide, based on README.txt

Legend:

Unmodified
Added
Removed
Modified
  • Bitten Install

    v1 v1  
     1= Bitten Installation =
     2[[PageOutline(2)]]
     3
     4Bitten is a simple distributed continuous integration system that not only coordinates builds across multiple machines, but also collects software metrics generated by builds, to enable feedback and reporting about the progress of a software project.
     5
     6The Bitten software consists of three separate parts:
     7 * The build slave, which executes build on behalf of a local or remote build master
     8 * The build master, which orchestrate builds for a project across all connected slaves, and stores the build status and results to the database
     9 * The web interface, which is implemented as an add-on to [http://trac.edgewall.com/ Trac] and provides a build management interface as well as presentation of build results.
     10
     11Both the build master and the web interface depend on Trac 0.9 beta 1, and need to be installed on the same machine, together with the [http://subversion.tigris.org/ Subversion] repository. The build slave only requires [http://www.python.org/ Python] (>= 2.3) as well as the tools required by the build process itself. A build slave may be run on any machine that can connect to the server running the Bitten build master.
     12
     13
     14== Installation ==
     15
     16Bitten is written in Python, so make sure that you have Python installed. You'll need Python 2.3 or later. Also, make sure that [http://peak.telecommunity.com/DevCenter/setuptools setuptools] is installed.
     17
     18If that's taken care of, you just need to download and unpack the Bitten distribution, and execute the command:
     19{{{
     20  $ python setup.py install
     21}}}
     22
     23from the top of the directory where you unpacked (or checked out) the Bitten code. Note that you may need administrator/root privileges for this step, as it will attempt to install Bitten to the Python site-packages directory on your system.
     24
     25It's also a good idea to run the unit tests at this point, to make sure that the code works as expected on your platform:
     26{{{
     27  $ python setup.py test
     28}}}
     29
     30What's left to do now depends on whether you want to use the build master and web interface, or just the build slave. In the latter case, you're already done. You might need to install software that the build of your project requires, but the Bitten build slave itself doesn't require anything extra.
     31
     32For the build master and web interface, you'll need to install [http://trac.edgewall.com/ Trac] 0.9 beta 1 and [http://www.sleepycat.com/products/xml.shtml Berkeley DB XML] >= 2.1.x, as well as their respective dependencies. Please refer to the documentation of those projects for information how they are installed.
     33
     34
     35== Build Master Configuration ==
     36
     37Once Bitten, Trac and BDB XML are installed and working, you'll have to introduce Bitten to your Trac project environment. If you don't have a  Trac project set up yet, you'll need to do so in order to use Bitten.
     38
     39If you already have a Trac project environment, the Trac web interface will inform you with an error message that the environment needs to be upgraded. To do this, run:
     40{{{
     41  $ trac-admin /path/to/projenv upgrade
     42}}}
     43
     44This will create the database tables and directories that Bitten requires. You probably also want to grant permissions to someone (such as yourself) to manage build configurations, and allow anonymous users to view the status and results of builds:
     45{{{
     46  $ trac-admin /path/to/projenv permission add anonymous BUILD_VIEW
     47  $ trac-admin /path/to/projenv permission add [yourname] BUILD_ADMIN
     48}}}
     49
     50You should now see an additional tab labelled "Build Status" in the Trac navigation bar. This link will take you to the list of build configurations, which at this point is of course empty. If you've set up permissions correctly as described previously, you should see a button for adding new build configurations. Click that button and fill out the form. Also, add at least one target platform after saving the configuration. Last but not least, you'll have to "activate" the build configuration.
     51
     52
     53== Running the Build Master ==
     54
     55At this point, you're ready to start the Bitten build master. The installation of Bitten should have put a `bittend` script on your path. If the script is not on your path, look for it in the `bin` or `scripts` subdirectory of your Python installation.
     56
     57To find out about the options and arguments of the script, execute it with the `--help` option as follows:
     58{{{
     59  $ bittend --help
     60}}}
     61
     62Most commonly, you'll want to specify the log level and log file, as well as the path to the Trac environment:
     63{{{
     64  $ bittend --verbose --log=/var/log/bittend /var/trac/myproject
     65}}}
     66
     67== Running the Build Slave ==
     68
     69The build slave can be run on any machine that can connect to the machine
     70on which the build master is running. Just as with the build master script,
     71you should find the build slave script on your path after the installation.
     72The build slave script is called `bitten`.
     73
     74To get a list of options for the build slave, execute it with the `--help`
     75option:
     76{{{
     77  $ bitten --help
     78}}}
     79
     80To run the build slave against a slave installed on myproject.example.org,
     81you'd run:
     82{{{
     83  $ bitten myproject.example.org
     84}}}