summaryrefslogblamecommitdiff
path: root/index.html
blob: f319b249f097dd4da36cc47012aeb011fe640bf4 (plain) (tree)
1
2
3
4
5
6
7





                                              
                                                                                     










                                                                                                                     

















                                                                                                                                                                                                                             
                                                   

          
                                                                                                         





































                                                                               
    





                                                                                                                                                                                 



































                                                                                                                                                                                                                       
<!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">
      Cross Language Continuous Integration for Git
    </div>

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

      <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>Public Examples</h2>

<p>
If you want to see what Jitterbug looks like, here is a list of <a href="https://github.com/franckcuny/jitterbug/wiki/Example">public examples.</a> Feel free to add to the list!
</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>