1. Beginners Guide To Continuous IntegrationTwitter: @stack72Email: public@paulstack.co.ukBlog: http://paulstack.co.uk/blog
2. Agenda What is Continuous Integration (CI)? Why should it be important to developers? What do I need to get started with CI? CI Tools What else can CI help me with?
4. What is CI and where did it come from? Kent Beck first introduced it (1999 with birth of XP) Fowler took over the mantle in September 2000 “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually …. daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible” – Martin Fowler, ThoughtWorks
5.
6. What is CI and where did it come from? Kent Beck first introduced us (1999 with birth of XP) Fowler took over the mantle in September 2000 “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually …. daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible” – Martin Fowler, ThoughtWorks Why has it evolved to be such a well known practice?
7. Why do I care about CI? “Initial Checkout” – where it all began for me Benefits of CI reduced risk Bugs Potentially release faster
8. How do I get started…. Only takes 3 simple practices
9. 1. Source Control Git Mercurial SVN TFS Clearcase CVS Perforce VSS etc.
10. 2. Hardware Laptop VM Spare Development Machine Server CI server on local machine
13. How do we choose a CI tool? Cost Configuration Easy of use Support Scalable Cool
14. Recap Time We: (Should) Already use Source Control Have decided which hardware to use Have chosen a CI tool Its possible to run a CI environment Easy Eh!
15. Simple steps to CI.. Make your build self building! Automate the build - nightly Keep the build fast Make Your Build Self-Testing Increase the frequency of builds Give instant feedback on builds
17. What else can CI help me do? Automate Code Documentation Code Coverage Reports Generate SQL Change scripts Automate deployment to staging / UAT Auto rollback
18. Summary We have looked at: What CI Is! Why its an important practice How to get initially started Some of the different build tools The potential of CI Tip – Get a mentor when starting out
20. Further Reading Continuous Integration by Paul Duvall – Amazon £18 Continuous Delivery by Jez Humble – Amazon £31 Continuous Integration in .Net – Manning.com £22