Product Solutions Resources Partners Pricing Support Talk to an expert Get free trial Login GitLab vs CircleCI Decision Kit CircleCI Summary What is CircleCI? Founded in 2011 and headquartered in San Francisco, Ca., CircleCI provides a service that automates the Continuous Integration stage of the Software Development Life Cycle (SDLC). Their CI service offering can be hosted in the cloud or on a private server. CI jobs are built within four different environments: a Docker image, a Linux VM, Windows VM, or a MacOS VM. They demonstrate their support of the Open Source Community by providing organizations with free credits for Open Source builds. CircleCI Orbs CircleCI can provide automated services for other stages of the Software Development Life Cycle (SDLC) using third party plug-ins that they call “Orbs”. They define Orbs as reusable/sharable packages of YAML configurations that condenses repeated pieces of configs into a single line of code. In other words, think of Orbs as a pointer that is included in the YAML configuration file that activates a piece of code during the build process that performs a function. The Orbs are housed in an open source code library. Decision Kit Explore these links for deeper insights on how CircleCI and GitLab compare For Business Decision Makers: Highlights CircleCI Strengths, Limitations and GitLab Differentiators GitLab vs. CircleCI Key Differentiators: Analytics Comparison, Dashboard Overview, Hybrid CI Orchestration Review CircleCI License Overview: Review CircleCI’s License Tiers CircleCI Workflows vs. GitLab Stages: Review a Comparsion Between CircleCI Workflows vs. GitLab Stages CircleCI Product Gaps: Review product gaps identified by the CircleCI Community Feature Comparison FEATURES Application performance monitoring SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab collects and displays performance metrics for deployed apps, leveraging Prometheus. Developers can determine the impact of a merge and keep an eye on their production systems, without leaving GitLab. Learn more about monitoring deployed apps Application performance alerts SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab allows engineers to seamlessly create service level indicator alerts and be notified of any desired events, all within the same workflow where they write their code. Learn more about creating SLI alerts GitLab Self-monitoring SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab comes out of the box enabled for Prometheus monitoring with extensive instrumentation, making it easy to ensure your GitLab deployment is responsive and healthy. Learn more about GitLab self-monitoring Project Level Value Stream Analytics SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab provides a dashboard that lets teams measure the time it takes to go from planning to monitoring. GitLab can provide this data because it has all the tools built-in: from the idea, to the CI, to code review, to deploy to production. Learn more about Value Stream Analytics Group Level Value Stream Analytics SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab provides a group dashboard that lets teams measure the time it takes to go from planning to monitoring. GitLab can provide this data because it has all the tools built-in: from the idea, to the CI, to code review, to deploy to production. Learn more about Value Stream Analytics Built-in Container Registry SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Container Registry is a secure and private registry for Docker images. It allows for easy upload and download of images from GitLab CI. It is fully integrated with Git repository management. (Codefresh will be ending their support for private docker registries as of May 1, 2020 Documentation on Container Registry Preview your changes with Review Apps SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE With GitLab CI/CD you can create a new environment for each one of your branches, speeding up your development process. Spin up dynamic environments for your merge requests with the ability to preview your branch in a live environment. Review Apps support both static and dynamic URLs. Learn more about Review Apps Built for using containers and Docker SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab ships with its own Container Registry, Docker CI Runner, and is ready for a complete CI/CD container workflow. There is no need to install, configure, or maintain additional plugins. Read the docs Cloud Native SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab and its CI/CD is Cloud Native, purpose built for the cloud model. GitLab can be easily deployed on Kubernetes and used to deploy your application to Kubernetes with support out of the box. Kubernetes integration Comprehensive pipeline graphs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Pipelines can be complex structures with many sequential and parallel jobs. To make it a little easier to see what is going on, you can view a graph of a single pipeline and its status. Learn more about pipeline graphs Browsable artifacts SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE With GitLab CI you can upload your job artifacts in GitLab itself without the need of an external service. Because of this, artifacts are also browsable through GitLab’s web interface. Learn more about using job artifacts in your project Latest artifacts locked to prevent deletion SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The latest artifact of a successful job and pipeline on any active branch, MR, or tag is automatically locked to prevent being deleted. This makes it possible to set an aggressive expiration policy to clean up older artifacts, reduce disk space consumption, and ensure the latest artifact is always available. This default behavior is configurable at the project level and can be disabled in project settings. Learn more about job artifacts expiration Scheduled triggering of pipelines SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can make your pipelines run on a schedule in a cron-like environment. Learn how to trigger pipelines on a schedule in GitLab Code Quality MR Widget SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Code Quality reports are available in the merge request widget area, giving you early insights into how the change will affect the health of your code before deciding if you want to accept it. Learn more about Code Quality Code Quality Reports SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Full Code Quality reports are available on the pipeline page, showing areas of the codebase that do not meet the organization’s preferred style or standards. Learn more about Code Quality reports Code Quality violation notices in MR diffs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Code Quality violations introduced in a merge request are annotated in the merge request diff view to detail how the code quality could decrease if merged. Learn more about Code Quality in MR diffs Multi-project pipeline graphs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Visualize how pipelines across projects are linked together, including cross project dependencies. Learn more about multi-project pipeline graphs Protected variables SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can mark a variable as “protected” to make it available only to jobs running on protected branches, therefore only authorized users can get access to it. Learn how to use protected variables Environments and deployments SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab CI is capable of not only testing or building your projects, but also deploying them in your infrastructure, with the added benefit of giving you a way to track your deployments. Environments are like tags for your CI jobs, describing where code gets deployed. Learn more about environments Environments history SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Environments history allows you to see what is currently being deployed on your servers, and to access a detailed view for all the past deployments. From this list you can also re-deploy the current version, or even rollback an old stable one in case something went wrong. Learn more about history of an environment Environment-specific variables SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Limit the environment scope of a variable by defining which environments it can be available for. Learn how to configure environment-specific variables Group-level variables SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Define variables at the group level and use them in any project in the group. Learn how to configure variables Customizable path for CI/CD configuration SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can define a custom path into your repository for your CI/CD configuration file. Learn how to configure a custom CI/CD configuration file Run CI/CD jobs on Windows SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Runner supports Windows and can run jobs natively on this platform. You can automatically build, test, and deploy Windows-based projects by leveraging PowerShell or batch files. Install GitLab Runner on Windows Run CI/CD jobs on macOS SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Runner supports macOS and can run jobs natively on this platform. You can automatically build, test, and deploy for macOS based projects by leveraging shell scripts and command line tools. Install GitLab Runner on macOS Run CI/CD jobs on Linux ARM SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Runner supports Linux operating systems on ARM architectures and can run jobs natively on this platform. You can automatically build, test, and deploy for Linux ARM based projects by leveraging shell scripts and command line tools. Install GitLab Runner on Linux Run CI/CD jobs on FreeBSD SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Runner supports FreeBSD and can run jobs natively on this platform. You can automatically build, test, and deploy for FreeBSD-based projects by leveraging shell scripts and command line tools. Install GitLab Runner on FreeBSD Show code coverage rate for your pipelines SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab is able to parse job output logs and search, via a customizable regex, any information created by tools like SimpleCov to get code coverage. Data is automatically available in the UI and also as a badge you can embed in any HTML page or publish using GitLab Pages. Learn how to generate and show code coverage information in GitLab Details on duration for each command execution in GitLab CI/CD SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Other CI systems show execution time for each single command run in CI jobs, not just the overall time. We’re reconsidering how job output logs are managed in order to add this feature as well. Learn more about job output logs in the documentation Auto DevOps SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Auto DevOps brings DevOps best practices to your project by automatically configuring software development lifecycles by default. It automatically detects, builds, tests, deploys, and monitors applications. Read more about Auto DevOps in the documentation Protected Runners SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Protected Runners allow you to protect your sensitive information, for example deployment credentials, by allowing only jobs running on protected branches to access them. Read more on the issue Easy integration of existing Kubernetes clusters SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Add your existing Kubernetes cluster to your project, and easily access it from your CI/CD pipelines to host Review Apps and to deploy your application. Read more in the docs GitLab Kubernetes Agent SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Manage the deployments and connection to your Kubernetes clusters in a secure and compliant way, driven by code. Read more on the docs Support for multiple Kubernetes clusters SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Easily deploy different environments, like Staging and Production, to different Kubernetes clusters. This allows to enforce strict data separation. Read more in the docs Integrated cluster cost management SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Get a peek at the cost of running your applications in Kubernetes to help with your budgeting requirements. Read through the documentation on setting up cluster cost management Canary Deployments SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Premium can monitor your Canary Deployments when deploying your applications with Kubernetes. Canary Deployments can be configured directly through .gitlab-ci.yml, the API, or from the UI of the Deploy Boards. Learn more about configuring Canary Deployments Automatic Retry for Failed CI Jobs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can specify a retry keyword in your .gitlab-ci.yml file to make GitLab CI/CD retry a job for a specific number of times before marking it as failed. Learn more about Automatic Retry for Failed CI Jobs Pipelines security SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The ability of running CI/CD pipelines on protected branches is checked against a set of security rules that defines if you’re allowed or not. It includes creating new pipelines, retrying jobs, and perform manual actions. Learn more about pipeline security Include external files in CI/CD pipeline definition SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can include external files in your pipeline definition file, using them as templates to reuse snippets for common jobs. Learn more about including external files Static Application Security Testing SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab allows easily running Static Application Security Testing (SAST) in CI/CD pipelines; checking for vulnerable source code or well known security bugs in the libraries that are included by the application. Results are then shown in the Merge Request and in the Pipeline view. This feature is available as part of Auto DevOps to provide security-by-default. Learn more about Static Application Security Testing Infrastructure as Code (IaC) Security Scanning SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE “With Gitlab 14.5 we’re introducing security scanning for Infrastructure as Code (IaC) configuration files.” Learn more about IaC security scanning Secret Detection SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab allows you to perform Secret Detection in CI/CD pipelines; checking for unintentionally committed secrets and credentials. Results are then shown in the Merge Request and in the Pipeline view. This feature is available as part of Auto DevOps to provide security-by-default. Learn more about Secret Detection Dependency Scanning SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Protect your application from vulnerabilities that affect dynamic dependencies by automatically detecting well-known security bugs in your included libraries. Learn more about Dependency Scanning Dynamic Application Security Testing SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Ensure you are not exposed to web application vulnerabilities like broken authentication, cross-site scripting, or SQL injection by dynamically investigating your running test applications in CI/CD pipelines. Learn more about application security for containers Interactive Application Security Testing SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE IAST combines elements of static and dynamic application security testing methods to improve the overall quality of the results. IAST typically uses an agent to instrument the application to monitor library calls and more. GitLab does not yet offer this feature. Container Scanning SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Run a security scan to ensure the Docker images for your application do not have any known vulnerabilities in the environment where your code is shipped. Learn more about container scanning Browser Performance Testing SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Easily detect performance regressions for web apps and pages prior to merging into master. Browser Performance Testing is included in Auto DevOps, providing automatic performance analytics of the root page with zero configuration. Learn more about Browser Performance Testing Load Performance Testing SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Easily detect performance regressions for APIs prior to merging into master. Learn more about Load Performance Testing Automated Accessibility scanning of Review Apps SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Performing accessibility testing is important in order to ensure you’re serving all the users who use your products. In GitLab you can generate Accessibility reports automatically prior to merging into master. Learn more about Automated Accessibility scanning Step folding for CI/CD logs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Collapse the job log output for each command. Documentation View Kubernetes pod logs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The monitoring of servers, application, network and security devices via generated log files to identify errors and problems for analysis. GitLab makes it easy to view the logs of running pods in connected Kubernetes clusters. By displaying the logs directly in GitLab, developers can avoid having to manage console tools or jump to a different interface. Learn more about viewing Kubernetes pod logs Windows Container Executor SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE With this feature you are able to use Docker containers on Windows directly, in much the same was as if they were on Linux hosts. This enables more advanced kinds of pipeline orchestration and management for users of Microsoft platforms. Learn more about the Windows Container Executor Comments in Review Apps SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Shorten the feedback cycle and enable stakeholders to provide comments through a form in your review app - which is then automatically added to the related merge request . Learn more about Commenting directly on Review Apps On-demand DAST SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Identify vulnerabilities in your running application, independent of code changes or merge requests. Learn more about On-demand DAST Site and Scanner profiles for On-demand DAST scans SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Reuse configuration profiles quickly with on-demand DAST scans, instead of reconfiguring scans every time you need to run one. Mix different scan profiles with site profiles to quickly conduct scans that cover different areas or depths of your application and API. Learn more about application security for containers DAST Configuration UI SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Enabling DAST is now as simple as three clicks. This guided configuration experience makes it easier for non-CI experts to get started with GitLab DAST. The tool helps a user create a merge request to enable DAST scanning while leveraging best configuration practices like using the GitLab-managed DAST.gitlab-ci.yml template. Learn more about the DAST Configuration UI Scheduling On-demand DAST scans SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Set on-demand DAST scans to run on ad hoc or recurring schedules. Learn more about scheduling on-demand scans Twitter Facebook YouTube LinkedIn Why GitLab? Product Solutions Services DevOps tools Is it any good? Releases Pricing Get started Resources All resources All-Remote Blog Newsletter Events Webcasts Topics Training Docs Developer Portal Install Community Customers Contribute Community Programs Direction Technology Partners Channel Partners Open Source Partners GitLab for Open Source GitLab for Education GitLab for Startups Shop Community Forum Support Get help Contact Sales Contact Support Support options Status Customers Portal Company About What is GitLab? Jobs Culture Leadership Team Press Investor Relations Analysts Handbook Security Contact Terms Privacy Cookie Preferences Trademark Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license View page source — Edit in Web IDE — please contribute. © 2021 GitLab B.V. This website uses cookies We use cookies to make our websites and services operate correctly, to understand how visitors engage with us and to improve our product and marketing efforts. See our cookie policy for more information.Cookie Policy Cookies Settings Accept All Cookies