stage | group | info | type |
---|---|---|---|
Verify |
Continuous Integration |
To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers |
howto |
To effectively use GitLab CI/CD, you need:
- A valid
.gitlab-ci.yml
file 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 via the /pipelines
and /jobs
pages of a project.
Disabling GitLab CI/CD in a project does not delete any previous jobs.
In fact, the /pipelines
and /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.yml
andgitlab.rb
for source and Omnibus installations respectively.
NOTE: Note: This only applies to pipelines run as part of GitLab CI/CD. This will not enable or disable pipelines that are run from an external integration.
To enable or disable GitLab CI/CD Pipelines in your project:
- Navigate to Settings > General > Visibility, project features, permissions.
- Expand the Repository section
- Enable or disable the Pipelines toggle as required.
Project visibility will also affect 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 via the dropdown box.
Press Save changes for the settings to take effect.
You can disable GitLab CI/CD site-wide, by modifying the settings in gitlab.yml
for source installations, and gitlab.rb
for Omnibus installations.
Two things to note:
- Disabling GitLab CI/CD, will affect only newly-created projects. Projects that had it enabled prior to this modification, will work as before.
- Even if you disable GitLab CI/CD, users will still be able to enable it in the project's settings.
For installations from source, open gitlab.yml
with your editor and set
builds
to false
:
## Default project features settings
default_projects_features:
issues: true
merge_requests: true
wiki: true
snippets: false
builds: false
Save the file and restart GitLab:
sudo service gitlab restart
For Omnibus installations, edit /etc/gitlab/gitlab.rb
and add the line:
gitlab_rails['gitlab_default_projects_features_builds'] = false
Save the file and reconfigure GitLab:
sudo gitlab-ctl reconfigure