Buy or build Continuous Integration?

At Arcadia Group, we’ve got experience with two of the best CI solutions in particular.

Both being Jenkins and CircleCI, we initially had CircleCI but hired dedicated DevOps resource to build our own Jenkins platform.

That being said, further down the line we’re now evaluating both solutions and need to decide what we should keep for the long term.

I hope this post will help you decide within your own company as to what you need and to consider the weights of both!

CircleCI

1.1 Configuration via .yml file

1.2 No need to maintain or update

1.3 Paid scalability

1.4 Has selenium and chrome driver built in (Although we did find out that it didn’t have an updated Chrome browser!

1.5 Limited parallel task configuration i.e. need to pipe files to native task runners e.g. BDD

1.6 Has a decent base artifact caching solution!

1.7 Need to configure runtime environment and provision it e.g. updating Chrome browser

1.8 Outages ever so often, whole build and deploy pipeline becomes busted

1.9 Need to decide how to allocate containers per build or how many concurrent builds etc.

1.10 Cannot spin up an isolated environment easily per-se

1.11 Task time startup latency

1.12 Has the notion of a queue based on how many containers are available

Jenkins

2.1 Dedicated maintenance required — Updating Jenkins Versions, Plugins

2.2 Self hosted infrastructure

2.3 Foundation needs to be setup initially — Schedulers, Orchestration, Secrets, Autoscaling

2.4 More configuration for jobs

2.5 Pipeline for jobs can be version controlled (FULLY; not just a .yml file)

2.6 React.js frontend plugin is in Alpha — No need for refreshing yay!

2.7 Unlimited scalability but performance and pricing needs to be foreseen

2.8 Extensibility is endless too, can have graphs, cron jobs, alerting

2.9 Parallelisation of tasks per job needs to be setup

2.10 Caching solution needs to be setup — S3 tar?

2.11 No need for a queue

2.12 No outages

2.13 We can configure each instance size?

2.14 No limited concurrent jobs


Hope this helps with food for thought!