What is most valuable?
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
How has it helped 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
What needs 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
For how long have I used the solution?
Since 2009. At that time it was called Hudson
What was my experience with deployment of the solution?
No. Deployment easiness is one of the advantages of Jenkins
What do I think about the stability of the solution?
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.
What do I think about the scalability of the solution?
How are customer service and technical support?
Never had a chance to communicate Technical Support
Never had a chance to communicate
Which solution did I use previously and why did I switch?
Mainly Jenkins used to be either main system or parallel solution. Major reason for using it was mainly related to:
2) Limited capacity of build agents
How was the initial setup?
Setup is pretty straightforward
What about the implementation team?
What's my experience with pricing, setup cost, and licensing?
It's free. There's no advice required