Continuous
Integration
INLOOPX
Igor Liška | Engineering Management 2018/06/06
INLOOPX
INLOOPX
100+ projects
6 international
awards
6 years
58 open source
libraries
5* rating on
clutch.com
46 StarWars fans
6 offices, 12 000+
sq. feet
150+ employees
http://www.inloopx.com
INLOOPX | Continuous Integration
Commit → Build → Test → Deliver
3
INLOOPX | Continuous Integration
4
while (true) {
}
// at least once a day
Commit → Build → Test → Deliver
INLOOPX | Continuous Integration
5
Commit → Build → Test → Deliver
INLOOPX | Continuous Integration
6
Git Workflow
A successful Git branching model
https://nvie.com/posts/a-successful-git-branching-model/
Gitflow
INLOOPX | Continuous Integration
Gitflow
7
Source: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
INLOOPX | Continuous Integration
Gitflow
8
Source: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
INLOOPX | Continuous Integration
Gitflow
9
feature/ths-246-add-calabash-target
branch
type
JIRA
taskID
featurenam
e
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
10
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
11
INLOOPX | Continuous Integration
Semantic Versioning
12
0.1.0-unstable.66+debug.a02691d1
pre-release info build metadataversion
m
ajorm
inorpatch
identifier
build
increm
ent
build
type
com
m
ithash
INLOOPX | Continuous Integration
Build Tools
13
Versioning
&
Building Delivery
INLOOPX | Continuous Integration
14
Building an application
1. Run static analysis & tests
2. Get version
3. Build
INLOOPX | Continuous Integration
15
Gitlab CI
Source: https://docs.gitlab.com/ee/ci/pipelines.html
INLOOPX | Continuous Integration
16
Job Count 2017 - 2018
INLOOPX | Continuous Integration
17
Challenges in App Building
1. Project Structure & Dependencies
2. Signing
INLOOPX | Continuous Integration
18
Inloop CLI
$ inloop ios provisioning application create
$ inloop ios provisioning device add
$ inloop ios match
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
19
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
20
INLOOPX | Continuous Integration
21
Cucumber & Calabash
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
22
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
23
INLOOPX | Continuous Integration
Build Delivery System
24
INLOOPX | Continuous Integration
Semantic Versioning vs. BDS
25
0.1.0-unstable.66+debug.a02691d1
pre-release info build metadataversion
m
ajorm
inorpatch
identifier
build
increm
ent
build
type
com
m
ithash
INLOOPX | Continuous Integration
26
0.1.0-unstable.66+debug.a02691d1
pre-release info build metadataidentifier
Semantic Versioning vs. BDS
build
type
INLOOPX | Continuous Integration
27
Semantic Versioning vs. BDS
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
28
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
29
INLOOPX
Commit → Build → Test → Deliver
| Continuous Integration
30
while (true) {
// at least once a day
}
INLOOPX
thank you
Q & A

Continuous integration