summaryrefslogtreecommitdiff
path: root/index.html
blob: a82c0b17214ce9147aee82145eb9494bcc0ada59 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<!DOCTYPE html>
<html>
<head>
  <meta charset='utf-8'>

  <title>franckcuny/jitterbug @ GitHub</title>
  <link rel="stylesheet" href="/static/css/project.css" media="screen, projection" />
  <script type="text/javascript"> 
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-18479905-1']);
    _gaq.push(['_trackPageview']);
 
    (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
  </script> 
</head>

<body>
  <a href="http://github.com/franckcuny/jitterbug"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a>

  <div id="container">

    <div class="download">
      <a href="http://github.com/franckcuny/jitterbug/zipball/master">
        <img border="0" width="90" src="http://github.com/images/modules/download/zip.png"></a>
      <a href="http://github.com/franckcuny/jitterbug/tarball/master">
        <img border="0" width="90" src="http://github.com/images/modules/download/tar.png"></a>
    </div>

    <h1><a href="http://github.com/franckcuny/jitterbug">jitterbug</a>
      <span class="small">by <a href="http://github.com/franckcuny">franckcuny</a></span></h1>

    <div class="description">
      small smoker for Perl projects hosted on github
    </div>

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

      <h2>Install</h2>
    <pre>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
</pre>
<br />    
In another terminal, deploy a DBIx::Class schema ( which is SQLite by default, 
change the values in config.yml to tweak) :

<pre>perl scripts/jitterbug_db --config config.yml --deploy</pre>

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.

<pre>http://example.com:3001/hook/</pre>

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.

<pre>perl scripts/builder.pl -c config.yml</pre>

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!

</p>
<h2>License</h2>
<p>This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.</p>
<h2>Authors</h2>
<p>franck cuny (franck@lumberjaph.net)
<br/>Jonathan "Duke" Leto (jonathan@leto.net)
<br/>ben hengst (notbenh@cpan.org)
<br/>Alexis Sukrieh (sukria@sukria.net)
<br/>Sawyer X (xsawyerx@cpan.org)
<br/>
<br/>      </p>
<h2>Contact</h2>
<p>franck (franck@lumberjaph.net)
<br/>      </p>


    <h2>Download</h2>
    <p>
      You can download this project in either
      <a href="http://github.com/franckcuny/jitterbug/zipball/master">zip</a> or
      <a href="http://github.com/franckcuny/jitterbug/tarball/master">tar</a> formats.
    </p>
    <p>You can also clone the project with <a href="http://git-scm.com">Git</a>
      by running:
      <pre>$ git clone git://github.com/franckcuny/jitterbug</pre>
    </p>

    <div class="footer">
      get the source code on GitHub : <a href="http://github.com/franckcuny/jitterbug">franckcuny/jitterbug</a>
    </div>

  </div>

  <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-18479905-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>