Your SlideShare is downloading. ×
Continues 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

Continues Integration

1,004
views

Published on

A presentation on continues integrations

A presentation on continues integrations

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,004
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
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. Continues Integration Johan Aludden Twitter: johanaludden Mail: me@johanaludden.com Blog: johanaludden.com/weblog
  • 2. What is Continues Integration? • Compile continuously • Test continuously • Prepare installation continuously • Measure quality continuously • Create documentation continuously 2
  • 3. Components • Developers • Version Control Repository • CI server • Build script • Feedback • Integration Build Machine 3
  • 4. Developers • Makes Changes to code • Runs a private Build • Commits changes 4
  • 5. Version Control Repository • Central point of truth • Good Practice • History • CVS, SVN, Perforce, Git 5
  • 6. CI server • Checks for changes • Retrieves changes • Runs build script(s) • Dashboard 6
  • 7. Build Script • Automated • Complete • Launched from Command line 7
  • 8. Feedback • Email • Instant messaging • SMS • RSS • Sounds • Monitor 8
  • 9. Integration Build Machine • Dedicated • The reference 9
  • 10. Benefits • Risk reduction • Less repetition • Generate Deployable Software • Increase Visibility • More Confidence 10
  • 11. Excuses • Increasing maintenance • Too much change • Frequently failed builds • Additional cost • Should already be made 11
  • 12. First steps • Centralized repository • Compile code • Package binaries • Add testing • Add inspections 12
  • 13. Common Problems • Long build time • Frequently failed builds • To much information • Many target platforms 13
  • 14. Long build time • Make it faster • Split and run in Parallell • Split and run in Sequence 14
  • 15. Frequently failed builds • Are all committed? • Can the devs run on local machine? • Code to fragile? • Tests to fragile? 15
  • 16. To much information • Is all information necessary • What information can be removed • Multiple source of information • Pull not push • Visualize information 16
  • 17. Many target platforms • One CI server per platform • Compile code • Package binaries 17
  • 18. Pipelines • Jobs – Runs in Parallell • Stages – Runs in sequence – contains 1 or more jobs 18
  • 19. Pipeline 19
  • 20. Pipeline Stage 19
  • 21. Pipeline Stage Job Job 19
  • 22. Pipeline Stage Stage Job Job Job Job 19
  • 23. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 24. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 25. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 26. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 27. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 28. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 29. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 30. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 31. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 32. Pipeline Stage Stage Stage Job Job Job Job Job 19
  • 33. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 34. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 35. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 36. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 37. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 38. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 39. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 40. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 41. Pipeline Stage Stage Stage Job Job Job Job Job 20
  • 42. CI servers • CruiseControl • Hudson • Cruise • Bamboo 21
  • 43. Links • Martin Fowler (http://martinfowler.com/articles/continuousIntegration.html) • Book (http://www.amazon.com/Continuous-Integration-Improving-Software- Reducing/dp/0321336380) • CruiseControl (http://cruisecontrol.sourceforge.net/) • Hudson (https://hudson.dev.java.net/) • WikiPedia (http://en.wikipedia.org/wiki/Continuous_integration/) 22
  • 44. Questions? 23

×