ciitdevcon
TRANSCRIPT
-
8/6/2019 ciitdevcon
1/44
Continues Integration
Johan Aludden
Twitter: johanaluddenMail: [email protected]
Blog: johanaludden.com/weblog
mailto:[email protected]:[email protected]:[email protected] -
8/6/2019 ciitdevcon
2/44
What is Continues Integration?
Compile continuously Test continuously Prepare installation continuously
Measure quality continuously Create documentation continuously
2
-
8/6/2019 ciitdevcon
3/44
Components
Developers Version Control Repository CI server Build script Feedback Integration Build Machine
3
-
8/6/2019 ciitdevcon
4/44
Developers
Makes Changes to code Runs a private Build Commits changes
4
-
8/6/2019 ciitdevcon
5/44
Version Control Repository
Central point of truth Good Practice History CVS, SVN, Perforce, Git
5
-
8/6/2019 ciitdevcon
6/44
CI server
Checks for changes Retrieves changes Runs build script(s) Dashboard
6
-
8/6/2019 ciitdevcon
7/44
Build Script
Automated Complete Launched from Command line
7
-
8/6/2019 ciitdevcon
8/44
Feedback
Email Instant messaging SMS RSS Sounds
Monitor
8
-
8/6/2019 ciitdevcon
9/44
Integration Build Machine
Dedicated The reference
9
-
8/6/2019 ciitdevcon
10/44
Benets
Risk reduction Less repetition Generate Deployable Software
Increase Visibility More Condence
10
-
8/6/2019 ciitdevcon
11/44
-
8/6/2019 ciitdevcon
12/44
First steps
Centralized repository Compile code Package binaries
Add testing Add inspections
12
-
8/6/2019 ciitdevcon
13/44
Common Problems
Long build time Frequently failed builds
To much information Many target platforms
13
-
8/6/2019 ciitdevcon
14/44
Long build time
Make it faster Split and run in Parallell
Split and run in Sequence
14
-
8/6/2019 ciitdevcon
15/44
-
8/6/2019 ciitdevcon
16/44
To much information
Is all information necessary What information can be removed
Multiple source of information Pull not push Visualize information
16
-
8/6/2019 ciitdevcon
17/44
-
8/6/2019 ciitdevcon
18/44
Pipelines
Jobs Runs in Parallell
Stages Runs in sequence contains 1 or more jobs
18
-
8/6/2019 ciitdevcon
19/44
PipelinePipeline
19
-
8/6/2019 ciitdevcon
20/44
PipelinePipeline
19
Stage
-
8/6/2019 ciitdevcon
21/44
PipelinePipeline
19
StageStage
JobJob
JobJob
-
8/6/2019 ciitdevcon
22/44
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
-
8/6/2019 ciitdevcon
23/44
PipelinePipeline
19
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
StageStage
JobJob
-
8/6/2019 ciitdevcon
24/44
PipelinePipeline
19
StageStage
JobJob
Job
StageStage
JobJob
JobJob
StageStage
JobJob
-
8/6/2019 ciitdevcon
25/44
PipelinePipeline
19
StageStage
Job
Job
StageStage
JobJob
JobJob
StageStage
JobJob
-
8/6/2019 ciitdevcon
26/44
PipelinePipeline
19
Stage
Job
Job
StageStage
JobJob
JobJob
StageStage
JobJob
-
8/6/2019 ciitdevcon
27/44
PipelinePipeline
19
Stage
Job
Job
StageStage
JobJob
JobJob
StageStage
JobJob
-
8/6/2019 ciitdevcon
28/44
-
8/6/2019 ciitdevcon
29/44
-
8/6/2019 ciitdevcon
30/44
PipelinePipeline
19
Stage
Job
Job
Stage
Job
Job
StageStage
JobJob
-
8/6/2019 ciitdevcon
31/44
PipelinePipeline
19
Stage
Job
Job
Stage
Job
Job
Stage
Job
-
8/6/2019 ciitdevcon
32/44
Pipeline
19
Stage
Job
Job
Stage
Job
Job
Stage
Job
-
8/6/2019 ciitdevcon
33/44
PipelinePipeline
20
StageStage
JobJob
JobJob
StageStage
JobJob
JobJob
Stage
Job
-
8/6/2019 ciitdevcon
34/44
PipelinePipeline
20
StageStage
JobJob
Job
StageStage
JobJob
JobJob
Stage
Job
-
8/6/2019 ciitdevcon
35/44
PipelinePipeline
20
StageStage
Job
Job
StageStage
JobJob
JobJob
Stage
Job
-
8/6/2019 ciitdevcon
36/44
PipelinePipeline
20
Stage
Job
Job
StageStage
JobJob
JobJob
Stage
Job
-
8/6/2019 ciitdevcon
37/44
PipelinePipeline
20
Stage
Job
Job
StageStage
JobJob
JobJob
Stage
Job
-
8/6/2019 ciitdevcon
38/44
PipelinePipeline
20
Stage
Job
Job
StageStage
JobJob
Job
Stage
Job
-
8/6/2019 ciitdevcon
39/44
PipelinePipeline
20
Stage
Job
Job
Stage
Job
Job
Stage
Job
-
8/6/2019 ciitdevcon
40/44
PipelinePipeline
20
Stage
Job
Job
Stage
Job
Job
-
8/6/2019 ciitdevcon
41/44
Pipeline
20
Stage
Job
Job
Stage
Job
Job
-
8/6/2019 ciitdevcon
42/44
CI servers
CruiseControl Hudson Cruise Bamboo
21
-
8/6/2019 ciitdevcon
43/44
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
http://en.wikipedia.org/wiki/Continuous_integration/http://en.wikipedia.org/wiki/Continuous_integration/https://hudson.dev.java.net/https://hudson.dev.java.net/http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380http://martinfowler.com/articles/continuousIntegration.htmlhttp://martinfowler.com/articles/continuousIntegration.html -
8/6/2019 ciitdevcon
44/44
Questions?