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