Version control system integration overview
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.
Check your project slug to discover which GitHub integration you have set up:
For more information about the differences, see the VCS integration overview. |
Code checkout and repository integration
Feature | GitHub App | GitLab | GitLab Self-Managed | GitHub OAuth | Bitbucket Cloud | Bitbucket Data Center | CircleCI server |
---|---|---|---|---|---|---|---|
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 |
Yes | No | No | Yes 2 | No | No | No | |
Yes | No 1 | No 1 | Yes 1,2 | No 1 | Yes | No 1 | |
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
Feature | GitHub App | GitLab | GitLab Self-Managed | GitHub OAuth | Bitbucket Cloud | Bitbucket Data Center | CircleCI server |
---|---|---|---|---|---|---|---|
Yes | No | No | Yes 2 | No | No | No | |
No 1 | No | No | Yes | Yes | No | No | |
Yes | No | No | Yes | Yes | Yes | Yes | |
Yes | No | No | Yes | Yes | No | Yes | |
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
Feature | GitHub App | GitLab | GitLab Self-Managed | GitHub OAuth | Bitbucket Cloud | Bitbucket Data Center | CircleCI server |
---|---|---|---|---|---|---|---|
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
No | No | No | Yes | Yes | No | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | No | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
No | No | No | Yes | Yes | No | Yes | |
No | No | No | Yes | Yes | No | No | |
No | Yes | Yes | Yes | Yes | No | Yes |
Security and permissions
Feature | GitHub App | GitLab | GitLab Self-Managed | GitHub OAuth | Bitbucket Cloud | Bitbucket Data Center | CircleCI server |
---|---|---|---|---|---|---|---|
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
No | No | No | Yes | No | No | Yes | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Open source support
Feature | GitHub App | GitLab | GitLab Self-Managed | GitHub OAuth | Bitbucket | Bitbucket Data Center | CircleCI server |
---|---|---|---|---|---|---|---|
Yes | No | No | Yes | Yes | No | No | |
No | No | No | Yes | Yes | No | Yes | |
No | No | No | Yes | Yes | No | Yes |