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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>franckcuny/jitterbug @ GitHub</title>
<style type="text/css">
@import url(http://fonts.googleapis.com/css?family=Droid+Sans:regular,bold);
@import url(http://fonts.googleapis.com/css?family=Droid+Serif:regular);
body {
margin-top: 1.0em;
font-family: "Helvetica,Arial,FreeSans";
background-color: #edf1f3;
color: #222;
line-height: 1.4em;
font-family: 'Droid Sans',Verdana, sans-serif;
text-align: center;
}
#container {
background: #ffffff;
border-style: solid;
border-width: 1px;
padding: 1em;
font-size: 110%;
text-align: justify;
width: 50em;
margin: 3em auto 2em auto;
line-height: 1.5em;
}
h1 { font-size: 3.8em; color: #120e0c; margin-bottom: 3px; }
h1 .small { font-size: 0.4em; }
h1 a { text-decoration: none }
h2 { font-size: 1.5em; color: #120e0c; }
h3 { font-size: 1.2em; color: #120e0c; }
a { color: #120e0c; }
.description { font-size: 1.2em; margin-bottom: 30px; margin-top: 30px; font-style: italic;}
.download { float: right; }
pre { background: #000; color: #fff; padding: 15px;}
hr { border: 0; width: 80%; border-bottom: 1px solid #aaa}
.footer { text-align:center; padding-top:30px; font-style: italic;
}
.code {background: #f0f0f0; color: eee; padding: 15px; }
</style>
</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>
|