Jenkins is good! ...until you discover TeamCity.
May 20, 2023

Jenkins is good! ...until you discover TeamCity.

Eric Mintz | TrustRadius Reviewer
Score 3 out of 10
Vetted Review
Verified User

Overall Satisfaction with Jenkins

I used Jenkins to build and configure docker images and then deploy them to an AWS virtual private cloud (VPC). The Jenkins instance was responsible for automating the continuous integration and continuous deployment process (CI/CD) by receiving commit events from GitHub, extracting, building, and testing the source code, and then deploying when testing succeeds.
  • Provides at-a-glance a visual representation of the pipeline's successes and failures.
  • Executes the deployment process on the remote hosts via agents.
  • It is controllable via yml configuration files which themselves can be in version control.
  • The Jenkins application is difficult to deploy using tools like Ansible since plugin installation and configuration aren't easily scriptable.
  • Jenkins depends on plugins for even the most basic use cases, like user and role-based access control. These should be built in.
  • Jenkins yml-based configurations are only testable by editing the yml in the web GUI (which is very tedious and error-prone) or by yml files that are committed to source control (which makes it slow and inconvenient). It should instead have the option to use local yml files.
  • Automated testing.
  • Automated deployments.
  • Visual feedback of pipeline run history.
  • Jenkins saves time and cost (cost of labor and cost of errors) but automates the deployment process.
  • Jenkins adds cost by the amount of time it takes to configure and maintain it.
Both Jenkins and TeamCity do a good job of automating CI/CD. Jenkins runs much leaner than TeamCity - it only needs about a Gig of free memory, whereas TeamCity needs a fat 4 Gig free. Many tasks in Jenkins yml config can be very cumbersome, especially running local and remote scripts, whereas TeamCity is script-based so the configuration is much more concise and easy to create and manage. Both TeamCity and Jenkins can be extended with plugins. However, TeamCity has the basic features built in, whereas Jenkins requires plugins for even basic features A TeamCity instance can easily be configured with tools like Ansible, including the installation of plugins. Jenkins plugins can't easily be added with tools like Ansible.

Do you think Jenkins delivers good value for the price?

Yes

Are you happy with Jenkins's feature set?

No

Did Jenkins live up to sales and marketing promises?

Yes

Did implementation of Jenkins go as expected?

No

Would you buy Jenkins again?

No

Jenkins is suitable for use cases where the initial lengthy, manual setup time can be justified and where once it's set up, little change is expected to the pipeline. Jenkins is less suitable for cases where: The Jenkins instance itself will be deployed by infrastructure-as-code (IAC) tools like Ansible Jenkins pipelines are expected to undergo substantial changes during development. There is no dedicated resource to constantly check for Jenkins plugin upgrades.