about summary refs log tree commit diff
path: root/README.md
blob: c42076a1d59af63e62ca233da0047326e4f60616 (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
44
45
46
47
48
49
## Jitterbug : Cross Language Continuous integration for Git


### What is Jitterbug?

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

### Installing Jitterbug

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

    # install missing dependencies
    ./Build installdeps

    # you can also use cpanm
    # cpanm --installdeps .

    # Look at config.yaml or example.yaml for how to configure your Jitterbug instance
    $EDITOR config.yaml

    # 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/jitterbug_db --config config.yml --deploy

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 periodically for a new task and build and test your
projects!