Jenkins Review

It's a good alternative to become parallel infrastructure purely dedicated for testing, but it lacks the ability to control interim status messages.


Valuable Features

1) Easy to install and setup (including setup to run as windows service)

2) Free and always available alternative to any other build solutions

3) Relatively simple and intuitive UI

4) Big number of pretty useful plugins

5) Easily configurable and scalable

Improvements to My Organization

In some of my projects I had a chance to participate we used to use some commercial solutions like TeamCity or Bamboo. Since we had limited number of build machines and build agents it was really hard to organize automated acceptance and high-level system test runs as it took a while to perform the run.

Even more, since we had restricted number of build agents the huge number of long-running tests could make serious bottle-neck to the entire build process, hence, the feedback is a bit delayed. Jenkins appeared to be a good alternative to become parallel infrastructure purely dedicated for testing.

The bottle-neck problem was mitigated and we were able to make large scale runs on infinite basis. Thus, we could get results 2-3 times a day instead of 1 which brought us more consolidated and consistent picture about application under test state during the day. This trick was helpful for me on many projects

Room for Improvement

A lot of features (even small ones) can be taken from existing analogs. E.g.:

1) Ability to control interim status messages. This feature exists in TeamCity where you can log a message of specific format and it could change the build text and temporary status. In particular it's useful to see the number of tests already passed/failed without waiting for the completion

2) When we need to restart the server while some jobs are running it could be useful to re-run those dropped jobs after restart automatically.

3) There is some set of plugins which is being set up very frequently for many projects. It could be useful to have some pre-defined installations which either contain all necessary plugins by default or install them at the initial run (to decrease the size of initial application package)

Generally, other systems have lots of features which could be useful to see in Jenkins

Use of Solution

Since 2009. At that time it was called Hudson

Deployment Issues

No. Deployment easiness is one of the advantages of Jenkins

Stability Issues

From time to time Jenkins experiences problems after 1-2 weeks of intensive work (where at least 1-2 jobs are running at any point of time).

There used to be some issues when entire configurations could become invisible from the UI (usually that could happen after unexpected system shut down or even simple configuration rename operation) which was a bit painful. But I didn't encounter such problems in the most recent versions. So, it definitely indicates that some work at this direction was definitely done.

Scalability Issues

No

Customer Service and Technical Support

Customer Service:

Never had a chance to communicate

Technical Support:

Never had a chance to communicate

Previous Solutions

Mainly Jenkins used to be either main system or parallel solution. Major reason for using it was mainly related to:

1) Licensing

2) Limited capacity of build agents

Initial Setup

Setup is pretty straightforward

Implementation Team

Both in-house and vendor

Pricing, Setup Cost and Licensing

It's free. There's no advice required

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Add a Comment
Guest
Sign Up with Email