Slide 1

Slide 1 text

hosted, self-hosted or … from scratch (!!!)? CI servers: @jipiboily jipiboily.com

Slide 2

Slide 2 text

WHOAMI Jean-Philippe Boily @jipiboily jipiboily.com [email protected] Software Engineer @ Rainforest QA rainforestqa.com

Slide 3

Slide 3 text

Rainforest QA “We do QA as a service, making it simple and fast to test your webapp in multiple browsers. Backed by @ycombinator + @heavybit” rainforestqa.com

Slide 4

Slide 4 text

Hosted

Slide 5

Slide 5 text

Why hosted? Dead easy to setup and use It just works No maintenance Work on your product, not on CI!!!

Slide 6

Slide 6 text

Common features • Support multiple languages, frameworks, DB, etc. • Support continuous deployment to multiple hosts • GitHub Pull Request integration

Slide 7

Slide 7 text

Travis CI <3 Open Source They made the Open Source community better

Slide 8

Slide 8 text

Insanely fast, parallel building <3 Open Source too (new & limited) Build and deploy Docker containers Can SSH into build servers

Slide 9

Slide 9 text

Can SSH into build servers Free plan, even for private projects!

Slide 10

Slide 10 text

Parallelism (not automatic AFAIK) Free plan, even for private projects! Semaphore

Slide 11

Slide 11 text

Host the build agents yourself Never see your code

Slide 12

Slide 12 text

Ship.io: mobile Cloudbees: Jenkins, but hosted Bamboo: by Atlasssian, tight integration with JIRA Moar CI… Drone.io

Slide 13

Slide 13 text

There are MOAR hosted CI servers…

Slide 14

Slide 14 text

You should pay for a hosted CI, but if you don’t want… My 2 cents

Slide 15

Slide 15 text

Self-hosted

Slide 16

Slide 16 text

A lot of plugins By far, the most popular Jenkins Painful to have a nice setup IMHO Former Hudson, before Oracle screwed up

Slide 17

Slide 17 text

Drone Super easy to setup “All” you need is “built-in”: GitHub, notifications, deployment… Builds run in Docker containers by drone.io

Slide 18

Slide 18 text

Moar CI… Bamboo, self-hosted: by Atlasssian, tight integration with JIRA CruiseControl (.net, .rb) Strider CD, CI JOE (best name), and tons and tons more…

Slide 19

Slide 19 text

Not the best option in most cases IMHO, but if you have high security requirements or really unusual setup that doesn't work on hosted, this is for you. My 2 cents

Slide 20

Slide 20 text

WARNING don’t do this at home, I am a professional From scratch

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Fun stuff… let’s do this!

Slide 24

Slide 24 text

Keep it simple CI is handling exist status and output, that’s it!

Slide 25

Slide 25 text

Let’s see some (bad) code!

Slide 26

Slide 26 text

Thanks! Questions? Jean-Philippe Boily @jipiboily jipiboily.com [email protected] Software Engineer @ Rainforest QA rainforestqa.com Slides: http://bit.ly/ci-talk