continues integration
DESCRIPTION
A presentation on continues integrationsTRANSCRIPT
![Page 1: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/1.jpg)
Continues Integration
Johan AluddenTwitter: johanaludden
Mail: [email protected]: johanaludden.com/weblog
![Page 2: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/2.jpg)
What is Continues Integration?• Compile continuously• Test continuously• Prepare installation continuously• Measure quality continuously• Create documentation continuously
2
![Page 3: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/3.jpg)
Components• Developers• Version Control Repository• CI server• Build script• Feedback• Integration Build Machine
3
![Page 4: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/4.jpg)
Developers• Makes Changes to code• Runs a private Build• Commits changes
4
![Page 5: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/5.jpg)
Version Control Repository• Central point of truth• Good Practice• History• CVS, SVN, Perforce, Git
5
![Page 6: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/6.jpg)
CI server• Checks for changes• Retrieves changes• Runs build script(s)• Dashboard
6
![Page 7: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/7.jpg)
Build Script• Automated• Complete• Launched from Command line
7
![Page 8: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/8.jpg)
Feedback• Email• Instant messaging• SMS• RSS• Sounds• Monitor
8
![Page 9: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/9.jpg)
Integration Build Machine• Dedicated• The reference
9
![Page 10: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/10.jpg)
Benefits• Risk reduction• Less repetition• Generate Deployable Software• Increase Visibility• More Confidence
10
![Page 11: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/11.jpg)
Excuses• Increasing maintenance• Too much change• Frequently failed builds• Additional cost• Should already be made
11
![Page 12: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/12.jpg)
First steps• Centralized repository• Compile code• Package binaries• Add testing• Add inspections
12
![Page 13: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/13.jpg)
Common Problems• Long build time• Frequently failed builds• To much information• Many target platforms
13
![Page 14: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/14.jpg)
Long build time• Make it faster• Split and run in Parallell• Split and run in Sequence
14
![Page 15: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/15.jpg)
Frequently failed builds• Are all committed?• Can the devs run on local machine?• Code to fragile?• Tests to fragile?
15
![Page 16: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/16.jpg)
To much information• Is all information necessary• What information can be removed• Multiple source of information• Pull not push• Visualize information
16
![Page 17: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/17.jpg)
Many target platforms• One CI server per platform• Compile code• Package binaries
17
![Page 18: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/18.jpg)
Pipelines• Jobs– Runs in Parallell
• Stages– Runs in sequence– contains 1 or more jobs
18
![Page 19: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/19.jpg)
PipelinePipeline
19
![Page 20: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/20.jpg)
PipelinePipeline
19
Stage
![Page 21: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/21.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
![Page 22: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/22.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
![Page 23: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/23.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 24: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/24.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 25: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/25.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 26: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/26.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 27: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/27.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 28: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/28.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 29: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/29.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 30: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/30.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 31: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/31.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 32: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/32.jpg)
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
![Page 33: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/33.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 34: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/34.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 35: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/35.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 36: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/36.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 37: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/37.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 38: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/38.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 39: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/39.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 40: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/40.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 41: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/41.jpg)
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
![Page 42: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/42.jpg)
CI servers• CruiseControl• Hudson• Cruise • Bamboo
21
![Page 43: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/43.jpg)
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
![Page 44: Continues Integration](https://reader033.vdocuments.site/reader033/viewer/2022051412/54b6a8ce4a7959051d8b4702/html5/thumbnails/44.jpg)
Questions?
23