Skip to content
Newer
Older
100644 199 lines (172 sloc) 5.42 KB
172c0a7 @leto initial update
authored Jan 14, 2012
1 \documentclass[12pt]{beamer}
2 \usepackage{beamerthemeHannover, graphicx, clrscode, amsmath, amssymb, multicol}
3 \usepackage{textcomp} \usepackage{verbatim}
4 \usepackage{listings}
954ecad @leto make sidebar color nicer
authored Jan 14, 2012
5 \setbeamercolor{sidebar}{use=structure,bg=red!50!yellow}
172c0a7 @leto initial update
authored Jan 14, 2012
6 \lstset{language=SQL}
7
8 \title{Doing The Jitterbug \\ \small {Cross Language Continuous Integration for Git} }
9 \author[@dukeleto]{Jonathan "Duke" Leto}
10 \date{}
11
12 \begin{document}
13
14 \frame{
15 \titlepage
16 \begin{center}
17 \includegraphics[width=125px, height=115px]{dancing.jpg}
18 \end{center}
19 }
20
21 \frame{
22 \frametitle{What is Continuous Integration (CI) ?}
23
24 Continually and automatically testing code, usually with relevant notifications.
25 }
26
27 \frame{
28 \frametitle{Why is CI Useful?}
29 \begin{itemize}
30 \item Know the exact commit that broke something
31 \item Automate testing many different combinations of different versions
32 of libraries, languages, OS's, browsers, etc...
33 \item Quickly identifies tests that only pass on the authors machine
34 due to implicit assumptions
35 \end{itemize}
36 }
37
38 \frame{
39 \frametitle{What problems does Jitterbug solve?}
40 \begin{itemize}
41 \item People forgetting to run the test suite
42 \item People forgetting to notify others when they see breakage
43 \item Not having a visual interface to which commits passed
44 and which failed a test suite
45 \end{itemize}
46 }
47
48 \frame{
49 \frametitle{Current Jitterbug Features}
50 \begin{itemize}
51 \item Extremely Memory Efficient
52 \item Integrates seamlessy with Github post-receive hooks
53 \item Can autodetect test suites in many languages
54 \item Highly customizable YAML configuration file
55 \item Email+RSS notifiers
56 \item Supports custom build/test scripts
57 \item Pretty web interface
58 \end{itemize}
59 }
60
61 \frame{
62 \frametitle{What does Jitterbug look like?}
63
64 \begin{center}
65 \includegraphics[width=260px, height=225px]{jitterbug_dashboard}
66 \end{center}
67 }
68
69 \frame{
70 \frametitle{What does Jitterbug look like? (2)}
71
72 \begin{center}
73 \includegraphics[scale=0.3]{jitterbug_project}
74 \end{center}
75 }
76
77 \frame{
78 \frametitle{What does Jitterbug look like? (3)}
79 \begin{center}
80 \includegraphics[scale=0.3]{jitterbug_email}
81 \end{center}
82 }
83
84 \frame{
bb9f710 @leto updates
authored Jan 14, 2012
85 \frametitle{What does Jitterbug look like? (4)}
86 \begin{center}
87 \includegraphics[scale=0.25]{cthulhu_cashmusic}
88 \end{center}
89 }
90
91 \frame{
172c0a7 @leto initial update
authored Jan 14, 2012
92 \frametitle{Current Features}
93 \begin{itemize}
94 \item Integrates seamlessy with Github post-receive hooks
95 \item Can run tests for Perl 5/6, Parrot, Ruby and Makefile-based projects
96 \item Highly customizable YAML configuration file
97 \item Email notifier
98 \item Supports custom build/test scripts
99 \item Pretty web interface
100 \end{itemize}
101 }
102
103
104 \frame{
105 \frametitle{Getting Jitterbug}
106 \begin{itemize}
107 \item git clone git://github.com/franckcuny/jitterbug.git
108 \item cd jitterbug
109 \item perl Build.PL
bb9f710 @leto updates
authored Jan 14, 2012
110 \item cpanm --installdeps . \# cpanminus to install deps
111 \item OR
112 \item ./Build installdeps \# install deps
172c0a7 @leto initial update
authored Jan 14, 2012
113 \item ./Build test \# run tests
114 \end{itemize}
115
116 Will release to CPAN Real Soon Now
117 }
118
119 \frame{
120 \frametitle{Doing the Jitterbug}
121 \begin{itemize}
122 \item vi config.yml \# Customize YAML config
123 \item perl jitterbug.pl -p 8080 \# Web interface
124 \item perl scripts/jitterbug\_db --config config.yml --deploy
125 \item perl scripts/builder.pl -c config.yml
126 \item Add http://example.com:8080/hook/ as a Github post-receive URL
127 \end{itemize}
128 }
129
130 \frame{
131 \frametitle{Customizing Jitterbug}
132 Interesting config file options...
133 \begin{itemize}
134 \item reuse\_repo - Reuse git repos instead of recloning
135 \item stack\_tasks - Test every commit, not just current HEAD
136 \item perlbrew - use perlbrew to test under many versions/builds of Perl
137 \item email\_on\_pass - whether to send emails for PASSing test suites
138 \end{itemize}
139 }
140
141 \frame{
142 \frametitle{Customizing Jitterbug (2)}
143 SQLite by default, but any database can be used
144 \lstinputlisting{example2.yml}
145 }
146
147 \frame{
148 \frametitle{Customizing Jitterbug (3)}
149 Per-repo config
150 \lstinputlisting{example.yml}
151 }
152
153 \frame{
154 \frametitle{Future Goals}
155 \begin{itemize}
156 \item Jitterbug wants to support running tests in many more languages, including
157 \begin{itemize}
158 \item Python
159 \item Javascript
160 \item PHP
161 \end{itemize}
162 \item Code coverage
163 \item Graphic visualization
b7f7f97 @leto Add a stats item to future goals
authored Jan 14, 2012
164 \item Statistics
172c0a7 @leto initial update
authored Jan 14, 2012
165 \end{itemize}
166 }
167
168 \frame{
169 \frametitle{Get involved!}
170 \begin{itemize}
9398813 @leto Add a link to jitterbug.pl
authored Jan 14, 2012
171 \item http://jitterbug.pl
172c0a7 @leto initial update
authored Jan 14, 2012
172 \item Install Jitterbug and test your projects
173 \item Join \#dancer on irc.perl.org for help
174 \item Submit a pull request for an issue! https://github.com/franckcuny/jitterbug
175 \end{itemize}
176 }
177
178 \frame{
179 \frametitle{ Thanks! }
180 \begin{itemize}
181 \item Franck Cuny
182 \item Dancer team
183 \end{itemize}
184 }
185
186 \frame{
187 \frametitle{ Stalk Me }
188 \begin{center}
189 \begin{itemize}
190 \item http://dukeleto.pl
191 \item http://linkedin.leto.net
192 \item http://twitter.com/dukeleto
193 \item http://identi.ca/leto
194 \item dukeleto on irc.perl.org and Freenode
195 \end{itemize}
196 \end{center}
197 }
198 \end{document}
Something went wrong with that request. Please try again.