Wheeljack is an automated build system. It's main focus is
simplicity. Especially regarding work needed to setup the system or a
new project. To satisfy this requirement it handles configuration
through a web interface. This means that setting up a new project
should be a matter of seconds.
Supported version control systems
Currently Wheeljack supports Bazaar_ and Subversion only. This is not
a hard requirement for the software. Support for other version control
systems can be added.
.. _Bazaar: http://bazaar-vcs.org/
Wheeljack can be installed use one of two methods. The first is to
setup everything yourself. The other is to use the provided
installation template. People unfamiliar with Django are probably best
off with an installation using the template. Read the next section on
how to use this template. The rest of this section assumes a certain
familiarity with Django.
To use Wheeljack you can create a Django project. Wheeljack ships with
a pre-configured project you can use to import or copy from. The
application itself is a normal Django app. The already setup project
can be found under the `src/wheeljack/project` directory.
You can install the code by running `python2.5 setup.py`. This will
also create a script called `wheeljack`. That script is the build
The build slave needs to be executed periodically. You could set it up
to run uninterrupted or from a cron job. Please look at the options it
supports by executing::
$ wheeljack --help
Installing Wheeljack using the template
To easiest way to get started is to follow along with the instructions
in this guide.
Download the `Wheeljack installation template`__. After extracting the
archive you need to edit a few files.
Open a terminal and execute the following line from within the
directory that contains `buildout.cfg`::
$ python2.5 bootstrap.py
This will create a new script which will start with the
installation. The installation can be ran as a normal system user and
will not try to install anything outside of it's current directory.
Within the directory called `autobot` there is a file named
`settings.py`. Open this file and change the settings for
`EMAIL_HOST`, `DEFAULT_FROM_EMAIL`, `ADMINS`, `TIME_ZONE`,
`LANGUAGE_CODE`, `BUILDER_USER` and `BUILDER_PASSWORD`. The last two
items should be set to the user you will create in the next section.
Create an initial database which will store the project info. This
will ask you to create a new admin user. Answer yes to this.
$ ./bin/django syncdb
Now you are ready to start Wheeljack. This example configuration uses
Supervisord to manage it's processes. Run the following command to
start both a builder and the web server.
$ ./bin/supervisord -c etc/supervisord.conf
The webserver is automatically started at port 8000. This can be
changed from the `etc/supervisord.conf` file.
Now you can visit the Wheeljack-interface_. If everything works
O.K. there is only one thing left to do. Please reopen
`settings.py`. Remove or comment the line that says `DEBUG = True`.
.. _Wheeljack-interface: http://localhost:8000
0.4 - February 14 2009
- A builder is started directly by forcing a build of a project. This
mean you don't have to wait until a scheduled build takes place.
- Made it possible to specify the configuration as an alternative to
entering user name and password for the `wheeljack` command.
- Fixed a problem where a forced build of a wrongly configured
repository would crash the builder.
- A notification is send when a build starts working again (after at
least one failed build).
- Added a migration system (South) for easier upgrading between
0.3 - January 04 2009
- The builder no longer crashes when the server is not available.
- Switched to Paster for the template based deployment. This is a much
better server than the default Django development server for
- Fixed an error that caused the builder to crash when terminating a
- The build info for a project is now updated during a build. This
means that you can actually watch the build in progress.
0.2 - January 01 2009
- Moved the base template to the project. This makes it easier to
override it for specific installations.
- Added support for Subversion.
- Changes to the project's settings will trigger a build regardless of
any updates to the version control system.
- Made it possible to force a build from the project detail screen.
0.1 - First release
- Initial release of Wheeljack.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.