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!
|