Continues Integration

  • 995 views
Uploaded on

A presentation on continues integrations

A presentation on continues integrations

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
995
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
29
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