Start Building for Free
CircleCI.comAcademyBlogCommunitySupport

Version control system integration overview

2 weeks ago2 min read
Cloud
Server
On This Page

When you create a CircleCI project you will select a code repository to connect. The code in the repo you select is checked out when your pipelines trigger. CircleCI supports several code version control systems (VCS). This guide gives an overview of the features available to each VCS integration.

Which version control systems are supported?

CircleCI cloud projects can be integrated with code repositories hosted on the following VCS providers:

  • GitHub.com

  • GitHub Enterprise Cloud

  • GitLab

  • GitLab self-managed

  • Bitbucket Cloud

  • Bitbucket Data Center

CircleCI server supports the following:

  • GitHub.com

  • GitHub Enterprise Cloud

  • GitHub Enterprise Server

Feature support for each integration type

The following tables show feature support per VCS for CircleCI cloud, along with feature support for CircleCI server:

  • Features that are supported for a VCS integration type are indicated with Yes.

  • Features that are not supported are indicated with No.

Code checkout and repository integration

FeatureGitHub AppGitLabGitLab Self-ManagedGitHub OAuthBitbucket CloudBitbucket Data CenterCircleCI server

Secure HTTPS checkout

Yes

No

No

Yes 2

No

No

No

Reduced permissions when integrating with CircleCI. Select a subset of repositories to be used with CircleCI.

Yes

No

No

Yes 2

No

Yes

No

CircleCI config suggestions bot

Yes

No

No

Yes 2

No

No

No

Set up multiple configuration files for a project

Yes

No 1

No 1

Yes 1,2

No 1

Yes

No 1

GitHub Checks

No

No

No

Yes

No

No

No

1 Possible using dynamic configuration.

2 Enable by using the GitHub App integration alongside the OAuth app integration. More details here.

Pipeline triggers and integrations

FeatureGitHub AppGitLabGitLab Self-ManagedGitHub OAuthBitbucket CloudBitbucket Data CenterCircleCI server

Custom inbound webhook triggers

Yes

No

No

Yes 2

No

No

No

Scheduled pipelines

No 1

No

No

Yes

Yes

No

No

Trigger pipelines via API

Yes

No

No

Yes

Yes

Yes

Yes

Trigger pipelines via web app

Yes

No

No

Yes

Yes

No

Yes

Outbound webhooks

Yes

Yes

Yes

Yes

Yes

Yes

Yes

1 One alternative is to use a custom webhook to generate a URL that you curl with a 3rd party scheduling tool.

2 Enable by using the GitHub App integration alongside the OAuth app integration. More details here.

Core capabilities

FeatureGitHub AppGitLabGitLab Self-ManagedGitHub OAuthBitbucket CloudBitbucket Data CenterCircleCI server

Artifact storage

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Test run config from VS Code

No

No

No

Yes

Yes

No

Yes

Dynamic configuration

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Rerun failed tests

Yes

Yes

Yes

Yes

Yes

Yes

No

Orbs

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Test splitting and parallelism

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Docker layer caching

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Debug with SSH

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Auto-cancel redundant workflows

Yes

Yes

Yes

Yes

Yes

Yes

Yes

In-app config viewing and editing

No

No

No

Yes

Yes

No

Yes

Test insights

No

No

No

Yes

Yes

No

No

Only build pull requests

No

Yes

Yes

Yes

Yes

No

Yes

Security and permissions

FeatureGitHub AppGitLabGitLab Self-ManagedGitHub OAuthBitbucket CloudBitbucket Data CenterCircleCI server

OpenID Connect tokens

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Config policies

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Audit logs

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Security group context restriction

No

No

No

Yes

No

No

Yes

Expression context restriction

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Open source support

FeatureGitHub AppGitLabGitLab Self-ManagedGitHub OAuthBitbucketBitbucket Data CenterCircleCI server

OSS support

Yes

No

No

Yes

Yes

No

No

Build pull requests from forked repositories

No

No

No

Yes

Yes

No

Yes

Pass secrets to builds from forked pull requests

No

No

No

Yes

Yes

No

Yes


Suggest an edit to this page

Make a contribution
Learn how to contribute