GitLab CI vs TeamCity

Need advice about which tool to choose?Ask the StackShare community!

GitLab CI

2.3K
1.6K
+ 1
75
TeamCity

1.2K
1.1K
+ 1
316
Add tool

GitLab CI vs TeamCity: What are the differences?

Introduction

GitLab CI and TeamCity are both popular continuous integration (CI) tools that automate the process of building, testing, and deploying applications. While they share some similarities, there are several key differences between the two.

  1. Deployment Flexibility: GitLab CI provides built-in deployment capabilities, allowing you to deploy your application to various environments directly from your CI pipeline. In contrast, TeamCity does not have native deployment features and requires additional plugins or custom scripts to achieve the same level of deployment flexibility.

  2. Hosted vs. Self-hosted: GitLab CI is part of the GitLab platform, which offers a hosted solution where all components, including the CI/CD, are bundled together. On the other hand, TeamCity is a self-hosted tool that needs to be set up and managed on your own infrastructure or servers.

  3. Built-in Code Review: GitLab CI tightly integrates with its code repository, providing built-in code review features. Developers can request code reviews directly within the GitLab platform, allowing for a streamlined and collaborative review process. TeamCity, being primarily a CI tool, does not have this native code review functionality and relies on external code review tools.

  4. Extensibility and Plugin Ecosystem: TeamCity has a vast ecosystem of plugins that can be leveraged to extend its capabilities and integrate with various tools and technologies. It supports a wide range of integrations out of the box and has a mature plugin development ecosystem. GitLab CI, while also extensible, has a relatively smaller plugin ecosystem compared to TeamCity.

  5. Built-in Container Registry: GitLab CI provides a built-in container registry, enabling you to conveniently store and manage Docker images for your applications. This integration simplifies the process of building and deploying containerized applications. TeamCity does not have a built-in container registry and relies on external solutions for managing Docker images.

  6. Pricing Model: GitLab CI is part of the GitLab platform, which offers a range of pricing options, including a free version. The pricing for GitLab is based on user seats and additional features. TeamCity, on the other hand, has a license-based pricing model, where you need to purchase licenses based on the number of build agents and users.

In summary, GitLab CI offers a more integrated solution with built-in deployment capabilities and code review features. It also includes a built-in container registry and provides flexible pricing options. TeamCity, on the other hand, has a robust plugin ecosystem and allows for self-hosting, making it a popular choice for organizations that require extensive customization and control over their CI infrastructure.

Advice on GitLab CI and TeamCity
Needs advice
on
CircleCICircleCIGitLab CIGitLab CI
and
Jenkins XJenkins X

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
See more
Replies (3)
Glenn Gillen
Recommends
on
BuildkiteBuildkite

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.

See more
Recommends
on
jFrogjFrog

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.

See more
Estu Fardani
Recommends
on
GitLab CIGitLab CI

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

See more
Decisions about GitLab CI and TeamCity

Buddy is one of the most easy-to-use tools for CI I ever met. When I needed to set up the pipeline I was really impressed with how easy it is to create it with Buddy with only a few moments. It's literally like: 1. Add repo 2. Click - Click - Click 3. You're done and your app is on prod :D The top feature that I've found is a simple integration with different notification channels - not only Slack (which is the one by default), but Telegram and Discord. The support is also neat - guys respond pretty quickly on even a small issue.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of GitLab CI
Pros of TeamCity
  • 22
    Robust CI with awesome Docker support
  • 13
    Simple configuration
  • 9
    All in one solution
  • 7
    Source Control and CI in one place
  • 5
    Integrated with VCS on commit
  • 5
    Free and open source
  • 5
    Easy to configure own build server i.e. GitLab-Runner
  • 2
    Hosted internally
  • 1
    Built-in Docker Registry
  • 1
    Built-in support of Review Apps
  • 1
    Pipeline could be started manually
  • 1
    Enable or disable pipeline by using env variables
  • 1
    Gitlab templates could be shared across logical group
  • 1
    Easy to setup the dedicated runner to particular job
  • 1
    Built-in support of Kubernetes
  • 61
    Easy to configure
  • 37
    Reliable and high-quality
  • 32
    User friendly
  • 32
    On premise
  • 32
    Github integration
  • 18
    Great UI
  • 16
    Smart
  • 12
    Free for open source
  • 12
    Can run jobs in parallel
  • 8
    Crossplatform
  • 5
    Chain dependencies
  • 5
    Fully-functional out of the box
  • 4
    Great support by jetbrains
  • 4
    REST API
  • 4
    Projects hierarchy
  • 4
    100+ plugins
  • 3
    Personal notifications
  • 3
    Free for small teams
  • 3
    Build templates
  • 3
    Per-project permissions
  • 2
    Upload build artifacts
  • 2
    Smart build failure analysis and tracking
  • 2
    Ide plugins
  • 2
    GitLab integration
  • 2
    Artifact dependencies
  • 2
    Official reliable support
  • 2
    Build progress messages promoting from running process
  • 1
    Repository-stored, full settings dsl with ide support
  • 1
    Built-in artifacts repository
  • 1
    Powerful build chains / pipelines
  • 1
    TeamCity Professional is FREE
  • 0
    High-Availability
  • 0
    Hosted internally

Sign up to add or upvote prosMake informed product decisions

Cons of GitLab CI
Cons of TeamCity
  • 2
    Works best with GitLab repositories
  • 3
    High costs for more than three build agents
  • 2
    Proprietary
  • 2
    User-friendly
  • 2
    User friendly

Sign up to add or upvote consMake informed product decisions