• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Continuous Integration and Builds
 

Continuous Integration and Builds

on

  • 4,717 views

The presentation from my talk on Continuous Integration and Builds at XP Days Indore 2010. The target audience was MCA students, faculty and members of IT industry in and around Indore.

The presentation from my talk on Continuous Integration and Builds at XP Days Indore 2010. The target audience was MCA students, faculty and members of IT industry in and around Indore.

Statistics

Views

Total Views
4,717
Views on SlideShare
4,705
Embed Views
12

Actions

Likes
8
Downloads
0
Comments
0

2 Embeds 12

http://www.slideshare.net 9
http://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Continuous Integration and Builds Continuous Integration and Builds Presentation Transcript

    • Continuous Integration & Builds
      • 25th Apr 2010
      Bhavin Javia, Senior Consultant, ThoughtWorks Indore 2010
    • Agenda
      • What is build and deployment ?
      • Source/Version Control
        • What is Source/Version Control ?
        • Source Control Process
        • Source Control Tools
      • What is Continuous Integration (CI) ?
      • CI Process
      • CI Process in a team
      • CI Practices
      • Why CI ?
      • CI Tools
      • Demo
      • References
      • Q & A
    • What is a build and deployment ?
      • Clean, Compile, Test, Package (Build) and Copy the packaged code to a remote server and start the app (Deploy)
      • Tools available to perform a build/deployment
        • Ant, Maven (Java)
        • Nant (.NET)
        • Make (C++)
        • Rake, Capistrano (Ruby)
      • IDEs (like Eclipse) use these build tools behind the scenes
      • IDE itself is NOT a build/deployment tool
    • What is Source/Version Control ?
      • Single repository to store “master copy” of all source code
        • Often on a remote machine
        • Daily backups taken for disaster recovery
      • Everyone pulls down a local “working copy” of the code from the repository (checkout)
      • All changes are posted back to the repository as an “incremental change” (commit)
      • Every change gets “unique a version number”
      • You can restore your working copy to any version (update)
    • Source Control Process master/ (trunk) SCM Repo Bob Alice Ted Checkout (99) Build & Commit (101) Build & Commit (102) Build & Commit (103) Build & Commit (100) Checkout (100) Update (101) Checkout (102)
    • Source Control Tools
      • CVS
      • Subversion
      • Perforce
      • Git
      • VSS
      • Others
    • What is Continuous Integration (CI) ? “ Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day ….this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly” - Martin Fowler (Chief Scientist @ ThoughtWorks)
    • CI Process
    • CI Process in a team master/ (trunk) SCM Repo Bob Alice Ted CI server 99 101 102 Build 100 Build 102 Build 103 103 100 100 101 102 App server Deploy 103
    • CI Practices
    • Why CI ?
      • Collective code ownership
      • Faster feedback to developer
      • Quality Improvement with tests
      • Application/Tests run on prod like system
      • Integrates all moving parts
      • Frequent deployments – More feedback
      • Metrics – Feedback on code quality
      • Reduced Risk
    • CI Tools
      • Open Source
        • CruiseControl – Java, .NET, Ruby
        • Hudson
      • Commercial Products
        • Cruise (from ThoughtWorks Studios)
        • TeamCity (from JetBrains)
        • Bamboo (from Atlassian)
    • Demo CruiseControl (Java) and CruiseControl.rb (Ruby) (20 mins)
    • CruiseControl
    • CruiseControl.NET
    • CruiseControl.rb
    • Hudson © ThoughtWorks 2008
    • Features of CI tools
      • Integration with Source Control systems
      • Integration with Build tools
      • Integration with Project Management tools
      • Notifications – via Email, RSS, IM etc
      • Dashboard
      • Metrics Collection – via internal/external tools
      • Scalability – via Distributed/Cloud computing
      • Extensibility via Plugins/APIs
    • References
      • http://martinfowler.com/articles/continuousIntegration.html
      • cruisecontrol.sourceforge.net
      • cruisecontrolrb.thoughtworks.com
      • ccnet.thoughtworks.com
      • www.thoughtworks-studios.com/cruise-release-management
      • hudson-ci.org
      • www.atlassian.com/software/bamboo/
    • Q & A Contact: [email_address]