Flexible and adaptable to any workflow, TeamCity offers powerful CI tooling with top-notch integration support for GitLab.com, GitLab Enterprise Edition, and GitLab Community Edition.
As projects grow in size and complexity, it becomes increasingly difficult to maintain an efficient delivery process using only GitLab’s built-in CI capabilities. This is where TeamCity comes to save the day! TeamCity is a general-purpose CI/CD solution that doesn’t enforce any specific workflow and provides maximum flexibility and configurability for teams of all sizes.
TeamCity is available for Linux, Windows, and macOS and can be run on your own hardware, on your preferred cloud-hosted infrastructure, in a Kubernetes cluster, or on any combination thereof. It supports all programming languages and integrates with all popular tools used for building and testing software.
TeamCity delivers valuable, actionable feedback on build and test failures to help make your development process much more efficient. It notifies you of failed tests in real time, keeps their build history, logs their duration, and marks unstable tests as flaky. Each test may include stack traces, screenshots, logs, and other data necessary for quick investigation.
Setting up continuous integration for your GitLab projects couldn’t be simpler. Once you’ve configured a connection to your GitLab repositories, a new TeamCity project takes just a few clicks to create. No matter how you organize your projects and workflows, TeamCity can build it.
You can use TeamCity to combine different programming languages, platforms, and build infrastructures into a single, robust CI pipeline. You can even add multiple VCS roots to create build pipelines for projects with repos hosted both in GitLab and other version control systems, including GitHub, Bitbucket, Azure DevOps, Mercurial, Subversion, and Perforce. Read more about VCS integrations.
Choose between TeamCity On-Premises for complete control and scalability and TeamCity Cloud for a fully managed, high-performance solution.
With full support for GitLab’s features, TeamCity integrates seamlessly and transparently, providing you with a comprehensive view of your DevOps processes.
TeamCity can publish the current status of each build to GitLab in real time – from the moment it is added to the queue to completion – so you can monitor progress and view results directly from the commit or merge request.
For more details, see the Commit Status Publisher section of our documentation.
You can configure rules to merge changes to a branch automatically as part of the CI pipeline. With support for cascading merges, you can create sophisticated workflows to promote changes to protected integration and release branches. In the event any tests fail or other auto-merge conditions aren’t met, you can still choose to merge changes manually directly from the TeamCity UI, without having to return to GitLab.
For more details, see the Automatic Merge and Manual Branch Merging sections of our documentation.
TeamCity makes it easy to set Git tags to record version numbers against the sources of successful builds (or all builds) automatically or manually.
For more details, see the VCS Labeling section of our documentation.
You can view details of any GitLab issues referenced in commit messages directly inside the TeamCity UI.
For more details, see the Integrating TeamCity with Issue Tracker section of our documentation.
Notify commit authors and team members of broken builds or failing tests, celebrate successful test runs, or inform code reviewers when continuous integration checks have been completed and changes are ready for review. TeamCity offers native support for Slack, email, and IDE and browser notifications, while the rich plugin ecosystem provides additional support for Microsoft Teams, Telegram, and Discord notifications.
Whether using TeamCity Cloud or TeamCity On-Premises, you can use your existing GitLab.com or GitLab CE/EE account to provide identity and access management.
When builds and tests fail, understanding the nature of the issue and identifying the root of the problem is the top priority. TeamCity can:
Short, quick feedback loops are critical to an effective DevOps strategy. TeamCity streamlines build and test workflows to quickly deliver insights into your latest changes, accelerating your release process and giving you more time to investigate and address any issues.
Integration with GitLab is available in all TeamCity versions, including the free self-hosted version. You can also try it for free in TeamCity Cloud which comes with a 14-day trial period.
It is not accurate to compare TeamCity and GitLab because they are different types of tools. TeamCity provides more features and flexibility than the built-in CI/CD capabilities of GitLab, but it doesn’t have features like issue tracking or Git hosting.
Yes, TeamCity supports all popular Docker registries, including GitLab Container Registry. In addition to common pull and run operations, TeamCity can also automatically remove outdated Docker images during server cleanup, which is particularly useful in on-premises CI/CD setups.
Learn more about TeamCity’s Docker integration.
By installing the TeamCity plugin to an IntelliJ-based IDE or Visual Studio, you can run a CI pipeline on your code without committing it. This feature is particularly loved by game developers.