Need advice about which tool to choose?Ask the StackShare community!
Jenkins X vs TeamCity: What are the differences?
Jenkins X: A CI/CD solution for cloud applications on Kubernetes. Jenkins X is a CI/CD solution for modern cloud applications on Kubernetes; TeamCity: TeamCity is an ultimate Continuous Integration tool for professionals. TeamCity is a user-friendly continuous integration (CI) server for professional developers, build engineers, and DevOps. It is trivial to setup and absolutely free for small teams and open source projects.
Jenkins X and TeamCity can be categorized as "Continuous Integration" tools.
Some of the features offered by Jenkins X are:
- Automated CI and CD - Rather than having to have deep knowledge of the internals of Jenkins Pipeline, Jenkins X will default awesome pipelines for your projects that implements fully CI and CD
- Environment Promotion via GitOps - Each team gets a set of Environments. Jenkins X then automates the management of the Environments and the Promotion of new versions of Applications between Environments via GitOps
- Pull Request Preview Environments - Jenkins X automatically spins up Preview Environments for your Pull Requests so you can get fast feedback before changes are merged to master
On the other hand, TeamCity provides the following key features:
- Automate code analyzing, compiling, and testing processes, with having instant feedback on build progress, problems, and test failures, all in a simple, intuitive web-interface
- Simplified setup: create projects from just a VCS repository URL
- Run multiple builds and tests under different configurations and platforms simultaneously
"Kubernetes integration" is the primary reason why developers consider Jenkins X over the competitors, whereas "Easy to configure" was stated as the key factor in picking TeamCity.
Jenkins X is an open source tool with 2.8K GitHub stars and 498 GitHub forks. Here's a link to Jenkins X's open source repository on GitHub.
According to the StackShare community, TeamCity has a broader approval, being mentioned in 171 company stacks & 51 developers stacks; compared to Jenkins X, which is listed in 3 company stacks and 7 developer stacks.
We are a mid-size startup running Scala apps. Moving from Jenkins/EC2 to Spinnaker/EKS and looking for a tool to cover our CI/CD needs. Our code lives on GitHub, artifacts in nexus, images in ECR.
Drone is out, GitHub actions are being considered along with Circle CI and GitLab CI.
We primarily need:
- Fast SBT builds (caching)
- Low maintenance overhead (ideally serverless)
- Everything as code
- Ease of use
I think I've tried most of the CI tools out there at some point. It took me a while to get around to Buildkite because at first I didn't see much point given it seemed like you had to run the agent yourself. Eventually it dawned on me why this approach was more ingenious than I realised:
Running my app in a production (or production-like) environment was already a solved problem, because everything was already in some form of "everything as code". Having a test environment where the only difference was adding the Buildkite agent was a trivial addition.
It means that dev/test/prod parity is simple to achieve and maintain. It's also proven to be much easier to support than trying to deal with the problems that come with trying to force an app to fit into the nuances and constraints that are imposed by the containers/runtime of a CI service. When you completely control all of the environment the tests are running in you define those constraints too. It's been a great balance between a managed service and the flexibility of running it yourself.
And while none of my needs have hit the scale of Shopify (I saw one of their engineers speak about it at a conference once, I can't find the video now though 😞) it's good to know I can scale out my worker nodes to hundreds of thousands of workers to reduce the time it takes for my tests to run.
I would recommend you to consider the JFrog Platform that includes JFrog Pipelines - it will allow you to manage the full artifact life cycle for your sbt, docker and other technologies, and automate all of your CI and CD using cloud native declarative yaml pipelines. Will integrate smoothly with all your other toolset.
more configurable to setup ci/cd: * It can provide caching when build sbt, just add this section to yml file * Easy to use, many documentation
Weakness: * Need use gitlab as repository to bring more powerful configuration
Pros of Jenkins X
- Kubernetes integration7
- Scripted Pipelines5
- GitOps4
Pros of TeamCity
- Easy to configure61
- Reliable and high-quality37
- User friendly32
- On premise32
- Github integration32
- Great UI18
- Smart16
- Free for open source12
- Can run jobs in parallel12
- Crossplatform8
- Chain dependencies5
- Fully-functional out of the box5
- Great support by jetbrains4
- REST API4
- Projects hierarchy4
- 100+ plugins4
- Personal notifications3
- Free for small teams3
- Build templates3
- Per-project permissions3
- Upload build artifacts2
- Smart build failure analysis and tracking2
- Ide plugins2
- GitLab integration2
- Artifact dependencies2
- Official reliable support2
- Build progress messages promoting from running process2
- Repository-stored, full settings dsl with ide support1
- Built-in artifacts repository1
- Powerful build chains / pipelines1
- TeamCity Professional is FREE1
- High-Availability0
- Hosted internally0
Sign up to add or upvote prosMake informed product decisions
Cons of Jenkins X
- Complexity1
Cons of TeamCity
- High costs for more than three build agents3
- Proprietary2
- User-friendly2
- User friendly2