To effectively use GitLab CI/CD, you need:
- A valid
.gitlab-ci.ymlfile present at the root directory of your project.
- A runner properly set up.
You can read our quick start guide to get you started.
If you are using an external CI/CD server like Jenkins or Drone CI, it is advised to disable GitLab CI/CD in order to not have any conflicts with the commits status API.
GitLab CI/CD is exposed by using the
/jobs pages of a project.
Disabling GitLab CI/CD in a project does not delete any previous jobs.
In fact, the
/jobs pages can still be accessed, although
it’s hidden from the left sidebar menu.
GitLab CI/CD is enabled by default on new installations and can be disabled either:
- Individually under each project’s settings.
- Site-wide by modifying the settings in
gitlab.rbfor source and Omnibus installations respectively.
This only applies to pipelines run as part of GitLab CI/CD. This doesn’t enable or disable pipelines that are run from an external integration.
To enable or disable GitLab CI/CD pipelines in your project:
- On the top bar, select Menu > Projects and find your project.
- On the left sidebar, select Settings > General.
- Expand Visibility, project features, permissions.
- In the Repository section, turn on or off CI/CD as required.
Project visibility also affects pipeline visibility. If set to:
- Private: Only project members can access pipelines.
- Internal or Public: Pipelines can be set to either Only Project Members or Everyone With Access by using the dropdown box.
Press Save changes for the settings to take effect.
You can set GitLab CI/CD to be disabled by default in all new projects by modifying the settings in:
gitlab.ymlfor source installations.
gitlab.rbfor Omnibus GitLab installations.
Existing projects that already had CI/CD enabled are unchanged. Also, this setting only changes the project default, so project owners can still enable CI/CD in the project settings.
For installations from source:
gitlab.ymlwith your editor and set
## Default project features settings default_projects_features: issues: true merge_requests: true wiki: true snippets: false builds: false
sudo service gitlab restart
For Omnibus GitLab installations:
/etc/gitlab/gitlab.rband add this line:
gitlab_rails['gitlab_default_projects_features_builds'] = false
sudo gitlab-ctl reconfigure