Continuous Integration
4
all
Life on a project

locally
F5 driven development
User -> Team
I tough we fixed this...
I tough we fixed this...
This was working, who touched it?
I tough we fixed this...
NullPointerException
This was working, who touched it?
I tough we fixed this...
NullPointerException
This was working, who touched it?
undefined method `[]' for nil
I tough we fixed this...
NullPointerException
This was working, who touched it?
undefined method `[]' for nil
blank web page
I tough we fixed this...
NullPointerException
This was working, who touched it?
undefined is not a function
undefined method `[]' for nil
blank web page
I tough we fixed this...
NullPointerException
This was working, who touched it?
undefined is not a function
undefined method `[]' for nil
blank web page
endless spinner
I tough we fixed this...
NullPointerException
This was working, who touched it?
undefined is not a function
undefined method `[]' for nil
blank web page
endless spinner
2 hours to do a release
I tough we fixed this...
NullPointerException
This was working, who touched it?
undefined is not a function
undefined method `[]' for nil
blank web page
endless spinner
2 hours to do a release


I tough we fixed this...
NullPointerException
This was working, who touched it?
undefined is not a function
undefined method `[]' for nil
blank web page
endless spinner
2 hours to do a release
Where do u run them?
Where do u run them?
locally!
Always?
Always?
Ah... yea...
Always?
Ah... yea...
What happens when u forget?
I never forget!
What happens when u forget?
What about your <fill in> team mates?
What about your <fill in> team mates?
What about your <fill in> team mates?
How about CI?
How about CI?
I need infrastructure!

Travis CI

- config: predefined steps
- deploy: multiple platforms
- price:
- open source: free
- private: 69$ (1 concurrent job)
- verdict: nice, didn't use it a lot
Semaphore

- config: predefined steps
- deploy: bunch of platforms + generic
- price:
- open source: free
- private: 25$ (1 concurrent job)
- verdict: works
Codeship
- config: predefined steps
- deploy: bunch of platforms + generic
- price:
- open source: free
- private: free (1 concurrent job, 100 builds)
- private: 49$ (1 concurrent job, no build limit)
- verdict: slow, works, some downtime...
Circle CI 2.0

- config: Docker!
- deploy: still in development => gotta do some manual stuff
- price:
- open source: free
- private: free (1 concurrent job, 100 builds)
- verdict: fast, a bit more work to setup, a lot of upside (because of docker)
Punchline
- a lot of tools!
- research what fits your needs => pick
- effort:
- infrastructure: NO
- devops skills: limited (NO for simple things)
- time: ~hours
- gain:
- confidence
- automation
?
Thanks
ci-4-all
By Horia Radu
ci-4-all
- 339