Your SlideShare is downloading. ×
0
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Integration
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Continuous Integration

864

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
864
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Continuous Integration (CI)
  • 2. Motivation
  • 3. <ul><li>Integrate modules </li></ul><ul><li>at late state of project </li></ul>Traditionally, different modules are developed by different teams/developers
  • 4. <ul><li>The earlier you can detect problems, the easier it is to resolve them </li></ul>In Agile processes, any programmer can change any part of the code
  • 5. Definition
  • 6. <ul><li>Continuous Integration is a software development practice where members of a team integrate their work frequently </li></ul><ul><li>Each integration is verified by an automated build </li></ul><ul><li>Detect integration errors as quickly as possible </li></ul><ul><li>Assumes a high degree of tests </li></ul>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. <ul><ul><li>Check in frequently </li></ul></ul>Continuous Integration Reminder
  • 27. <ul><ul><li>Don’t check in broken code </li></ul></ul>Continuous Integration Reminder
  • 28. <ul><ul><li>Don’t check in untested code </li></ul></ul>Continuous Integration Reminder
  • 29. <ul><ul><li>Don’t check in </li></ul></ul><ul><ul><li>when the build is broken </li></ul></ul>Continuous Integration Reminder
  • 30. <ul><ul><li>Don’t go home after checking in until the system builds </li></ul></ul>Continuous Integration Reminder
  • 31. “ Oops, I did it again….” <ul><li>Peer pressure within team ensures policies are followed </li></ul>
  • 32. Practices of Continuous Integration
  • 33. <ul><li>Maintain a Single Source Repository </li></ul>Practices of Continuous Integration
  • 34. <ul><li>Automate the Build </li></ul>Practices of Continuous Integration
  • 35. <ul><li>Make Your Build Self-Testable </li></ul>Practices of Continuous Integration
  • 36. <ul><li>Every Commit Should Build the Mainline on an Integration Machine </li></ul>Practices of Continuous Integration
  • 37. <ul><li>Keep the Build Fast </li></ul>Practices of Continuous Integration
  • 38. <ul><li>Test in a Clone of the Production Environment </li></ul>Practices of Continuous Integration
  • 39. <ul><li>Everyone can see what&apos;s happening </li></ul>Practices of Continuous Integration
  • 40. <ul><li>Automate Deployment </li></ul>Practices of Continuous Integration
  • 41. Conclusion
  • 42. <ul><li>Detect integration errors as quickly as possible </li></ul>Continuous Integration
  • 43. <ul><li>Assumes a high degree of tests </li></ul>Continuous Integration
  • 44. <ul><li>Always have a deployable build </li></ul>Continuous Integration
  • 45. <ul><li>Generate metrics to guide project management </li></ul>Continuous Integration
  • 46. <ul><li>Continuous Integration is Vital for Agile Development </li></ul>Continuous Integration
  • 47. ? Q &amp; A

×