Continuous Integration
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Continuous Integration

on

  • 956 views

 

Statistics

Views

Total Views
956
Views on SlideShare
956
Embed Views
0

Actions

Likes
2
Downloads
24
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 Presentation Transcript

  • 1. Continuous Integration (CI)
  • 2. Motivation
  • 3.
    • Integrate modules
    • at late state of project
    Traditionally, different modules are developed by different teams/developers
  • 4.
    • 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
  • 5. Definition
  • 6.
    • 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
  • 7. Demonstration
  • 8. Continuous Integration Server Source Repository Developers Solution: continually integrate and test throughout the project
  • 9. Developers check out code into their private workspaces
  • 10. Developers work on functionality and validate it by running unit tests and local build
  • 11. Developer update code to avoid conflicts
  • 12. Developers work on functionality and validate it by running unit tests and local build
  • 13. When done, they commit changes to the repository
  • 14. The CI server monitors the repository and checks out changes when they occur
  • 15. The CI server builds the system and runs unit and integration tests
  • 16. The CI server releases deployable artefacts for QA testing
  • 17. The CI server assigns a build label to the version of the code that it just built
  • 18. The CI server informs the team of the successful build and generates useful metrics
  • 19. If the build or tests fail, the CI server alerts the team
  • 20. The team fix the issue at the earliest opportunity
  • 21. Continually integrate and test throughout the project
  • 22. Metrics
  • 23. Metrics generated by the CI server can be a useful indication of project “health”
  • 24. Metrics generated by the CI server can be a useful indication of project “health” (cont.)
  • 25. Reminder
  • 26.
      • Check in frequently
    Continuous Integration Reminder
  • 27.
      • Don’t check in broken code
    Continuous Integration Reminder
  • 28.
      • Don’t check in untested code
    Continuous Integration Reminder
  • 29.
      • Don’t check in
      • when the build is broken
    Continuous Integration Reminder
  • 30.
      • Don’t go home after checking in until the system builds
    Continuous Integration Reminder
  • 31. “ Oops, I did it again….”
    • Peer pressure within team ensures policies are followed
  • 32. Practices of Continuous Integration
  • 33.
    • Maintain a Single Source Repository
    Practices of Continuous Integration
  • 34.
    • Automate the Build
    Practices of Continuous Integration
  • 35.
    • Make Your Build Self-Testable
    Practices of Continuous Integration
  • 36.
    • Every Commit Should Build the Mainline on an Integration Machine
    Practices of Continuous Integration
  • 37.
    • Keep the Build Fast
    Practices of Continuous Integration
  • 38.
    • Test in a Clone of the Production Environment
    Practices of Continuous Integration
  • 39.
    • Everyone can see what's happening
    Practices of Continuous Integration
  • 40.
    • Automate Deployment
    Practices of Continuous Integration
  • 41. Conclusion
  • 42.
    • Detect integration errors as quickly as possible
    Continuous Integration
  • 43.
    • Assumes a high degree of tests
    Continuous Integration
  • 44.
    • Always have a deployable build
    Continuous Integration
  • 45.
    • Generate metrics to guide project management
    Continuous Integration
  • 46.
    • Continuous Integration is Vital for Agile Development
    Continuous Integration
  • 47. ? Q & A