Djinn CI is a continuous integration system that allows for running builds in Docker containers and Linux VMs. Builds can be run on the server, or they can be run offline using the offline runner. Each build is configured via a simple YAML manifest that describes how the build should be run, and what commands should be executed within the build.
Before you start contributing read the Architecture document that details the architecture of Djinn CI and how everything fits together.
If you cannot get hold of a binary distribution then you can always build Djinn from source. Read through docs/admin/building.md for more information on building from source.
You can download the djinn-dev
image that is used in the build itself, and
use this for local development. The image can be downloaded here. This can
be used for local development, the machine can be booted by running the
qemu.sh
script,
$ ./qemu.sh
once booted you will be able to SSH into it as root
on port 2222
,
$ ssh -p 2222 root@localhost
the ports for Redis (6379
), and PostgreSQL (5432
) will also be locally
accessible too.
mgrt is used for performing revisions against for Djinn CI. Once the virtual machine is booted, you can run the following mgrt command,
$ mgrt db set djinn-dev postgresql "host=localhost port=5432 dbname=djinn user=djinn password=secret"
$ mgrt run -c schema -db djinn-dev
$ mgrt run -c perms -db djinn-dev
$ mgrt run -c dev -db djinn-dev