3.8 KiB
stage | group | info | type |
---|---|---|---|
Verify | Pipeline Execution | To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments | howto |
How to enable or disable GitLab CI/CD (FREE)
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 by using 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.
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.
Per-project user setting
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.
Make GitLab CI/CD disabled by default in new projects
You can set GitLab CI/CD to be disabled by default in all new projects by modifying the settings in:
gitlab.yml
for source installations.gitlab.rb
for 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:
-
Open
gitlab.yml
with your editor and setbuilds
tofalse
:## Default project features settings default_projects_features: issues: true merge_requests: true wiki: true snippets: false builds: false
-
Save the
gitlab.yml
file. -
Restart GitLab:
sudo service gitlab restart
For Omnibus GitLab installations:
-
Edit
/etc/gitlab/gitlab.rb
and add this line:gitlab_rails['gitlab_default_projects_features_builds'] = false
-
Save the
/etc/gitlab/gitlab.rb
file. -
Reconfigure GitLab:
sudo gitlab-ctl reconfigure