• Like
  • Save
Continuous Integration
Upcoming SlideShare
Loading in...5
×
 

Continuous Integration

on

  • 892 views

 

Statistics

Views

Total Views
892
Views on SlideShare
892
Embed Views
0

Actions

Likes
2
Downloads
23
Comments
0

0 Embeds 0

No embeds

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 Continuous Integration Presentation Transcript

    • Continuous Integration (CI)
    • Motivation
      • Integrate modules
      • at late state of project
      Traditionally, different modules are developed by different teams/developers
      • The earlier you can detect problems, the easier it is to resolve them
      In Agile processes, any programmer can change any part of the code
    • Definition
      • Continuous Integration is a software development practice where members of a team integrate their work frequently
      • Each integration is verified by an automated build
      • Detect integration errors as quickly as possible
      • Assumes a high degree of tests
      Continuous Integration
    • Demonstration
    • Continuous Integration Server Source Repository Developers Solution: continually integrate and test throughout the project
    • Developers check out code into their private workspaces
    • Developers work on functionality and validate it by running unit tests and local build
    • Developer update code to avoid conflicts
    • Developers work on functionality and validate it by running unit tests and local build
    • When done, they commit changes to the repository
    • The CI server monitors the repository and checks out changes when they occur
    • The CI server builds the system and runs unit and integration tests
    • The CI server releases deployable artefacts for QA testing
    • The CI server assigns a build label to the version of the code that it just built
    • The CI server informs the team of the successful build and generates useful metrics
    • If the build or tests fail, the CI server alerts the team
    • The team fix the issue at the earliest opportunity
    • Continually integrate and test throughout the project
    • Metrics
    • Metrics generated by the CI server can be a useful indication of project “health”
    • Metrics generated by the CI server can be a useful indication of project “health” (cont.)
    • Reminder
        • Check in frequently
      Continuous Integration Reminder
        • Don’t check in broken code
      Continuous Integration Reminder
        • Don’t check in untested code
      Continuous Integration Reminder
        • Don’t check in
        • when the build is broken
      Continuous Integration Reminder
        • Don’t go home after checking in until the system builds
      Continuous Integration Reminder
    • “ Oops, I did it again….”
      • Peer pressure within team ensures policies are followed
    • Practices of Continuous Integration
      • Maintain a Single Source Repository
      Practices of Continuous Integration
      • Automate the Build
      Practices of Continuous Integration
      • Make Your Build Self-Testable
      Practices of Continuous Integration
      • Every Commit Should Build the Mainline on an Integration Machine
      Practices of Continuous Integration
      • Keep the Build Fast
      Practices of Continuous Integration
      • Test in a Clone of the Production Environment
      Practices of Continuous Integration
      • Everyone can see what's happening
      Practices of Continuous Integration
      • Automate Deployment
      Practices of Continuous Integration
    • Conclusion
      • Detect integration errors as quickly as possible
      Continuous Integration
      • Assumes a high degree of tests
      Continuous Integration
      • Always have a deployable build
      Continuous Integration
      • Generate metrics to guide project management
      Continuous Integration
      • Continuous Integration is Vital for Agile Development
      Continuous Integration
    • ? Q & A