Types of CI Engines
The CI engines are available in three flavours: On-premise, Hosted (cloud based) and hybrid CI engines. We'll have a look at each type of CI engine one by one.
On-premise CI Engines
On-premise engines can be deployed on corporate servers. Entire engine and the slaves are within corporate network, protected by firewalls. This type of setup is suitable for large corporations or security-obsessed institutions.
Advantages: Being deployed on company servers, only one time charges for licenses/software need to be paid. It offers options of web interface as well as command line interface. It can work with public as well as private repositories. It also offer complete control over configuration and usage, as per requirements.
Disadvantages: Being in-house, requires provisions for resources, maintenance and upgrades etc.
Hosted CI Engines
Cloud hosted engines are the CI engines provided by third party companies as a service, which provide all the infrastructure to be readily utilized by other entities for building their products. This option is best suitable to individuals, open source software projects, small- to medium-sized companies etc.Advantages: Being provided as a service, payment options can be flexible (pay-per-use etc.). It is also maintenance free from user's stand point. They generally provide web browser based UI which is easier to use.
Disadvantages: They cater to private repositories by charging extra. They offer limited control over configuration. Being hosted on cloud, they are prone to security concerns.
Hybrid CI Engines
A third option - hybrid approach - is also available. In this approach, typically some agents are deployed on on-premise machines. These agents co-ordinate with cloud servers for building/testing the code. Some of these steps can also be performed on on-premise servers. The artifacts, logs then
can be transferred to the on-premise servers.
Main advantage of using hybrid option is to have more control over resource utilization, configurability and security.
Available Options
Before concluding this series, as requested by the readers, I am presenting a compilation of CI Engines available as of today. Earlier I thought of presenting a comparison, but the comparison table is so huge, I couldn't get it to fit here in a presentable way. Following is a list of CI engines in alphabetical order.
Engine Name
|
URL
|
Apache Bigtop
|
http://bigtop.apache.org/
|
Apache continuum
|
http://continuum.apache.org/
|
Apache gump
|
http://gump.apache.org/
|
Bamboo
|
https://www.atlassian.com/software/bamboo/
|
BuildBot
|
http://buildbot.net/
|
CABIE
|
http://cabie.tigris.org/
|
circleci
|
https://circleci.com/
|
cisimple/ship.io
|
https://ship.io/
|
CloudBees
|
https://www.cloudbees.com/
|
codeship.io
|
https://codeship.com/
|
CruiseControl
|
http://cruisecontrol.sourceforge.net/
|
Drone.io
|
https://drone.io/
|
Evergreen CI
|
https://github.com/evergreen-ci/
|
Go
|
http://www.go.cd/
|
hosted-ci
|
https://hosted-ci.com/
|
hudson
|
http://hudson-ci.org/
|
Jenkins
|
http://jenkins-ci.org/
|
LuntBuild
|
http://luntbuild.javaforge.com/
|
magnum-ci
|
https://magnum-ci.com/
|
OpenSUSE Build
System
|
http://openbuildservice.org/
|
pyCI
|
http://tbraun89.github.io/pyCI/
|
semaphoreapp
|
https://semaphoreci.com/
|
shippable
|
https://app.shippable.com/
|
snap-ci
|
https://snap-ci.com/
|
strider
|
https://github.com/Strider-CD/strider/
|
tddium/SolanoLabs
|
https://www.solanolabs.com/
|
TinderBox
|
https://developer.mozilla.org/en-US/docs/Tinderbox/
|
travis
|
https://travis-ci.org/
|
vexor.io
|
https://vexor.io/
|
wercker
|
http://wercker.com/
|
So this concludes this series on CI/CD. This series focused on understanding what CI and CD is, its evolution and benefits these technologies offer. It also covered types of CI engines available today, what value add they bring and what could be the points to consider while selecting a CI/CD engine.
I would like to hear your comments and feedback. Also I can discuss and share results of my study with interested individuals.
Comments
Post a Comment