summary refs log tree commit diff
path: root/README
blob: 7139479f3ae074339571220ae9c2941dbe8fb0fe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Jitterbug : A continuous integration system built on Dancer and git hooks

Jitterbug is written in Perl 5 and depends on various CPAN modules, such
as Dancer, DBIx::Class and Git::Repository.

Installing Jitterbug
===================

perl Build.PL

# You can also use Makefile.PL, but you will then have to manually 
# install dependencies
# perl Makefile.PL

# install missing dependencies
./Build installdeps

# start the jitterbug Dancer app, which by default binds to port 3000
perl jitterbug.pl

# If you need to start it on a different port use -p
# perl jitterbug.pl -p 3001

In another terminal, deploy a DBIx::Class schema ( which is SQLite by default, 
change the values in config.yml to tweak) :

perl scripts/deploy_schema config.yml

Now add a post-receive hook to your github project that hits the /hook/ URL
on the server that the jitterbug Dancer app is running on, i.e.

    http://example.com:3001/hook/

Now you must start the builder, which actually clones a new git repo for
each task (this could be network-intensive) and actually runs the build
and test commands for each project.

    perl scripts/builder.pl -c config.yml

Now, when you commit to a project that has a Jitterbug post-receive hook,
the builder check every 30 seconds for a new task and build and test your
projects!