You are on page 1of 45

CI From the trenches

Julian Simpson, www.build-doctor.com

Wednesday, 11 March 2009


Who am I?

Wednesday, 11 March 2009


What is CI?

http://flickr.com/photos/oberazzi/318947873
Wednesday, 11 March 2009
... members of a team integrate their work frequently ...

Wednesday, 11 March 2009


Each integration is verified by an automated build
(including test)

Wednesday, 11 March 2009


TODO: CI Diagram

Wednesday, 11 March 2009


Mine

Wednesday, 11 March 2009


What’s this talk about?

Wednesday, 11 March 2009


Sharing

http://flickr.com/photos/imagesbyk2/27263706/

Wednesday, 11 March 2009


Sharing with a lamp

http://flickr.com/photos/igb/
Wednesday, 11 March 2009
Sharing with a rabbit

http://flickr.com/photos/enfad/
Wednesday, 11 March 2009
Sharing with a radiator

http://www.flickr.com/photos/mibgames

Wednesday, 11 March 2009


• http://github.com/betarelease/cc_monitor
• http://code.google.com/p/tattletail/
• http://code.google.com/p/bigvisiblecruise/
• http://www.nabaztag.com

Wednesday, 11 March 2009


Extending CI

http://flickr.com/photos/yukonblizzard/
Wednesday, 11 March 2009
Extending CI:
Release Management

http://flickr.com/photos/adrianclarkmbbs/
Wednesday, 11 March 2009
Release Management:
Build label

Wednesday, 11 March 2009


Release Management:
VCS label

http://flickr.com/photos/rbrwr/
Wednesday, 11 March 2009
Wednesday, 11 March 2009
Release Management:
labelled deployable

http://en.wikipedia.org/wiki/
Wednesday, 11 March 2009
Wednesday, 11 March 2009
Extending CI:
System Deployment

http://flickr.com/photos/dharrels/
Wednesday, 11 March 2009
Conway’s law in action

Wednesday, 11 March 2009


How to test?

Wednesday, 11 March 2009


ssh root@remoteserver "/etc/init.d/tomcat stop" && \

' # <=== NASTY UNMATCHED QUOTE


ssh root@remoteserver "rm -rf /usr/local/tomcat/webapps/
ssh root@remoteserver "cd /usr/local/tomcat/webapps/
ROOT; jar -xvf /root/uploads/test.war" && \

Wednesday, 11 March 2009


One Broken Test

Wednesday, 11 March 2009


Extending CI:
Functional Testing

http://flickr.com/photos/jurvetson/
Wednesday, 11 March 2009
Wednesday, 11 March 2009
Extending CI: Metrics

http://flickr.com/photos/29225114@N08//
Wednesday, 11 March 2009
CheckStyle

Wednesday, 11 March 2009


FindBugs

Wednesday, 11 March 2009


Sonar

Wednesday, 11 March 2009


• http://findbugs.sourceforge.net/
• http://checkstyle.sourceforge.net/
• http://sonar.codehaus.org
• http://www.ndepend.com/
• http://metric-fu.rubyforge.org/

Wednesday, 11 March 2009


Scaling CI

http://flickr.com/photos/mr_mt_02/
Wednesday, 11 March 2009
Scaling CI: I/O

http://flickr.com/photos/paszczak000/
Wednesday, 11 March 2009
iostat -d 5 10

Wednesday, 11 March 2009


Windows perfmon.exe

Wednesday, 11 March 2009


Scaling CI:
Security

http://flickr.com/photos/untitled13/
Wednesday, 11 March 2009
Version control

Wednesday, 11 March 2009


Team City Security

Wednesday, 11 March 2009


Scaling CI:
The Build Pipeline

http://flickr.com/photos/freewine/
Wednesday, 11 March 2009
Wednesday, 11 March 2009
Scaling CI:
The Church Organ

http://flickr.com/photos/tisue/
Wednesday, 11 March 2009
Summary
Scaling

Sharing

Extending

Wednesday, 11 March 2009


Any questions?

http://flickr.com/photos/chidorian/
Wednesday, 11 March 2009
Thanks for listening!

• Other questions?
• http://www.build-doctor.com
• medic@build-doctor.com
• http://twitter.com/simpsonjulian

Wednesday, 11 March 2009

You might also like