HiveBrain v1.2.0
Get Started
← Back to all entries
patternModerate

Key attributes of Continuous Integration (CI) software

Submitted by: @import:stackexchange-devops··
0
Viewed 0 times
attributessoftwareintegrationkeycontinuous

Problem

I work in the IT department of automation/dev company and we are just about to implement/add CI into our set of tools. And we are having difficulties to choose the one.

At the moment we've been thinking about these systems:

  • Jenkins



  • CircleCI



  • TravisCI



Question: What are key attributes of CI's soft which the systems should have and based on which we should compare them?

EDIT: We are expecting from CI the standard things: From building the applications, running tests (Unit/Integration/Performance/..), saving statistics and providing information either via email/on the page (reports).

Issue there is that we don't know which if there are more functionality and if, what is it? This is what I would be looking for under words "key attributes". The names above are just for reference, I'm looking for answer "why use this or that" over simplified "use this or that".

We are developing in .NET (C#) environment with some libraries written in C++/VBA.

Solution

In general, there are five main differences between different CI software solutions.

-
Cost: Is the software open source and free or proprietary? Does your DevOps team already have a budget for software or are you expected to compare free options?

-
Maintenance: Is the software something you need to host on your own and maintain, or is it being offered as a service? If you need to host it on your own, do you have the team members available who can run the maintenance? If it is being provided as a service, where does your code reside?

-
Security: Are there any security or compliance concerns about where the build machines are hosted? Are the permissions required by the CI software into your SCM well understood?

-
Community: Does the CI software have a good community around it with the plugins and support for the technologies you use? Is it easy to get support or troubleshoot when things go wrong?

-
UX: How easy is the software to use? Does the CI software support scripts stored within your SCM for the tasks you need to do? Is the reporting easy to understand or will it require some training?

Context

StackExchange DevOps Q#141, answer score: 13

Revisions (0)

No revisions yet.