ci from the trenches: real-world continuous integration challenges (and what to do about them)

Upload: best-tech-videos

Post on 30-May-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    1/45

    CI From the trenchesJulian Simpson, www.build-doctor.com

    Wednesday, 11 March 2009

    http://www.build-doctor.com/http://www.build-doctor.com/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    2/45

    Who am I?

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    3/45

    What is CI?

    http://flickr.com/photos/oberazzi/318947873

    Wednesday, 11 March 2009

    http://flickr.com/photos/oberazzi/318947873http://flickr.com/photos/oberazzi/318947873
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    4/45

    ... members of a team integrate their work frequently ...

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    5/45

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

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    6/45

    TODO: CI Diagram

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    7/45

    Mine

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    8/45

    Whats this talk about?

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    9/45

    Sharing

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

    Wednesday, 11 March 2009

    http://flickr.com/photos/imagesbyk2/27263706/http://flickr.com/photos/imagesbyk2/27263706/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    10/45

    Sharing with a lamp

    http://flickr.com/photos/igb/

    Wednesday, 11 March 2009

    http://flickr.com/photos/igb/http://flickr.com/photos/igb/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    11/45

    Sharing with a rabbit

    http://flickr.com/photos/enfad/

    Wednesday, 11 March 2009

    http://flickr.com/photos/enfad/http://flickr.com/photos/enfad/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    12/45

    Sharing with a radiator

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

    Wednesday, 11 March 2009

    http://www.flickr.com/photos/mibgameshttp://www.flickr.com/photos/mibgames
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    13/45

    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

    http://www.nabaztag.com/http://code.google.com/p/bigvisiblecruise/http://code.google.com/p/tattletail/http://www.nabaztag.com/http://www.nabaztag.com/http://code.google.com/p/bigvisiblecruise/http://code.google.com/p/bigvisiblecruise/http://code.google.com/p/tattletail/http://code.google.com/p/tattletail/http://github.com/betarelease/cc_monitorhttp://github.com/betarelease/cc_monitor
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    14/45

    Extending CI

    http://flickr.com/photos/yukonblizzard/

    Wednesday, 11 March 2009

    http://flickr.com/photos/yukonblizzard/http://flickr.com/photos/yukonblizzard/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    15/45

    Extending CI:

    Release Mana ement

    http://flickr.com/photos/adrianclarkmbbs/

    Wednesday, 11 March 2009

    http://flickr.com/photos/adrianclarkmbbs/http://flickr.com/photos/adrianclarkmbbs/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    16/45

    Release Management:

    Build label

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    17/45

    http://flickr.com/photos/rbrwr/

    Release Management:

    VCS label

    Wednesday, 11 March 2009

    http://flickr.com/photos/rbrwr/http://flickr.com/photos/rbrwr/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    18/45Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    19/45

    Release Management:

    labelled de lo able

    http://en.wikipedia.org/wiki/Wednesday, 11 March 2009

    http://en.wikipedia.org/wiki/File:Airacobra_P39_Assembly_LOC_02902u.jpghttp://en.wikipedia.org/wiki/File:Airacobra_P39_Assembly_LOC_02902u.jpghttp://en.wikipedia.org/wiki/File:Airacobra_P39_Assembly_LOC_02902u.jpghttp://en.wikipedia.org/wiki/File:Airacobra_P39_Assembly_LOC_02902u.jpghttp://en.wikipedia.org/wiki/File:Airacobra_P39_Assembly_LOC_02902u.jpg
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    20/45Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    21/45

    Extending CI:

    S stem De lo ment

    http://flickr.com/photos/dharrels/Wednesday, 11 March 2009

    http://flickr.com/photos/dharrels/http://flickr.com/photos/dharrels/http://flickr.com/photos/dharrels/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    22/45

    Conways law in action

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    23/45

    How to test?

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    24/45

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

    ' #

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    25/45

    One Broken Test

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    26/45

    Extending CI:

    Functional Testin

    http://flickr.com/photos/jurvetson/

    Wednesday, 11 March 2009

    http://flickr.com/photos/yukonblizzard/http://flickr.com/photos/yukonblizzard/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    27/45

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    28/45

    Extending CI: Metrics

    http://flickr.com/photos/29225114@N08//

    Wednesday, 11 March 2009

    http://flickr.com/photos/yukonblizzard/http://flickr.com/photos/yukonblizzard/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    29/45

    CheckStyle

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    30/45

    FindBugs

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    31/45

    Sonar

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    32/45

    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

    http://metric-fu.rubyforge.org/http://www.ndepend.com/http://sonar.codehaus.org/http://checkstyle.sourceforge.net/http://metric-fu.rubyforge.org/http://metric-fu.rubyforge.org/http://www.ndepend.com/http://www.ndepend.com/http://sonar.codehaus.org/http://sonar.codehaus.org/http://checkstyle.sourceforge.net/http://checkstyle.sourceforge.net/http://findbugs.sourceforge.net/http://findbugs.sourceforge.net/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    33/45

    Scaling CI

    http://flickr.com/photos/mr_mt_02/

    Wednesday, 11 March 2009

    http://flickr.com/photos/mr_mt_02/http://flickr.com/photos/mr_mt_02/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    34/45

    Scaling CI: I/O

    http://flickr.com/photos/paszczak000/

    Wednesday, 11 March 2009

    http://flickr.com/photos/paszczak000/http://flickr.com/photos/paszczak000/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    35/45

    iostat -d 5 10

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    36/45

    Windows perfmon.exe

    Wednesday, 11 March 2009

    S li CI

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    37/45

    Scaling CI:

    Securit

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

    http://flickr.com/photos/untitled13/http://flickr.com/photos/untitled13/http://flickr.com/photos/untitled13/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    38/45

    Version control

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    39/45

    Team City Security

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    40/45

    Scaling CI:

    The Build Pi eline

    http://flickr.com/photos/freewine/Wednesday, 11 March 2009

    http://flickr.com/photos/freewine/http://flickr.com/photos/freewine/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    41/45

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    42/45

    Scaling CI:

    The Church Or an

    http://flickr.com/photos/tisue/

    Wednesday, 11 March 2009

    http://flickr.com/photos/tisue/http://flickr.com/photos/tisue/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    43/45

    Summary

    Sharing

    Scaling

    Extending

    Wednesday, 11 March 2009

  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    44/45

    Any questions?

    http://flickr.com/photos/chidorian/Wednesday, 11 March 2009

    http://flickr.com/photos/chidorian/http://flickr.com/photos/chidorian/
  • 8/14/2019 CI from the Trenches: Real-World Continuous Integration Challenges (and what to do about them)

    45/45

    Thanks for listening!

    Other questions?

    http://www.build-doctor.com [email protected]

    http://twitter.com/simpsonjulian

    http://qqq/http://qqq/http://qqq/http://qqq/http://qqq/http://qqq/http://qqq/http://qqq/http://qqq/http://qqq/