6. What is your CI system ?
No
Build Server
Nightly
Build
Automated
Build
with
Basic
Automated Test
Use
Metrics
More
About Testing
Automated
Acceptance
Testing
Continuous
Deployment
Continuous
Delivery
10. What is CI ?
• Continuous Integration !!!
• Automated Everything
• Build as often as possible
• Build early and often
• e.g. On every commit/nightly build
11. What is CI ?
• Not just technical
• Organization and culture
12. What is CI ?
• Software development practice
• What people do, not about what tools
• Integrate frequently
• Fast feedback
13. Benefit of CI
• Fewer error/Reduce risks
• Fast feedback
• Much less manual testing
• Regression test without additional effort
• Generate deployable software
• Great confidence in the product
16. CI Practices
1. Maintain a single source repository
2. Automate the build
3. Make your build self-test
4. Everyone commit to the mainline everyday
5. Every commit should build the mainline on integration machine
6. Keep the build fact
7. Test in a clone of the production environment
8. Make it easy for everyone to get the latest executable
9. Everyone can see what is happen
10.Automate deployment
17. Single Source Repository
• Single point of truth
• Everyone’s code in the same place
• NOT a branch per developer
• Shared ownership
18. Automate Build
• IDE is not automating !!
• Use build tool
• Compile, package and test
25. Test in Production Clone
• Detect multi-thread, cluster, load balance issue
• Test system architecture
• Real database
26. Keep Build Fast
• It’s all about feedback
• If thing break you find out about it, fresh in your mind
• Keep up with frequent commit
27. Everyone See What’s Happening
• Reduce time to fix
• No excuse to commit on broken build
• It’s not about blame, it about feedback
28. Automate Deployment
• Reduce human error
• Verify can run on somewhere other than “My Machine”
• Test not only on code, but deployment process too
• Don’t tie up System Administrators with boring stuff
• Don’t tie up Developers waiting for feedback
29. Make CI Work
• Can not done in isolation
• Pick the right tool for the right job
• It’s not silver bullet
35. Summary
• CI and Build pipeline improve
• Quality
• Time to market
• Confidence
• Continuous Deployment/Delivery is the next step
• Require Developers and System Administrator to work
closely together