Edgewall Software

Version 4 (modified by iain@…, 16 years ago) (diff)

Warning not to delete working copies during local builds.

Below are the options available for version 0.6 of the Bitten slave, as reported by the slave itself.

prompt> bitten-slave --version
bitten-slave-script.py 0.6dev-r547


prompt> bitten-slave -help
Usage: bitten-slave-script.py [options] url

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  --name=NAME           name of this slave (defaults to host name)
  -f FILE, --config=FILE
                        path to configuration file
  -u USERNAME, --user=USERNAME
                        the username to use for authentication
  -p PASSWORD, --password=PASSWORD
                        the password to use when authenticating

  building:
    -d DIR, --work-dir=DIR
                        working directory for builds
    --build-dir=BUILD_DIR
                        name pattern for the build dir to use inside the
                        working dir ["build_${config}_${build}"]
    -k, --keep-files    don't delete files after builds
    -s, --single        exit after completing a single build
    -n, --dry-run       don't report results back to master
    -i SECONDS, --interval=SECONDS
                        time to wait between requesting builds

  logging:
    -l FILENAME, --log=FILENAME
                        write log messages to FILENAME
    -v, --verbose       print as much as possible
    -q, --quiet         print as little as possible
    --dump-reports      whether report data should be printed


Local Builds

The parameter url represents the location of the bitten recipe. If it is a local file, the slave will run the build locally, without any need for a bitten master. This can be useful for trying out bitten-slave quickly. So calling bitten-slave recipe.xml with the following trivial recipe.xml

<build description="Building System"
      xmlns:sh="http://bitten.cmlenz.net/tools/sh">
 <step id="The first step">
   <sh:exec file="echo" args="Minimal example"/>
 </step>
</build>

will produce this output:

[INFO    ] Executing build step 'The first step'
[INFO    ] Minimal example
[INFO    ] Build step The first step completed successfully
[INFO    ] Build completed

Bitten recipes generally specify a list of steps that are required to succeed for a build to be valid. They will often include a list of tests to be ran on the code. Running all the steps can be useful as a pre-commit validation of changes on a development machine, in which case it is important not to delete the files of the working copy, and to build in a specific directory. The command becomes bitten-slave -k -d PATH --build-dir PATH recipe.xml.