BigW Consortium Gitlab

enable_or_disable_ci.md 2.32 KB
Newer Older
1
# How to enable or disable GitLab CI/CD
2

3
To effectively use GitLab CI/CD, you need a valid [`.gitlab-ci.yml`](yaml/README.md)
4 5
file present at the root directory of your project and a
[runner](runners/README.md) properly set up. You can read our
6
[quick start guide](quick_start/README.md) to get you started.
7

8 9
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
10 11 12 13
API.

---

14 15 16
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
17
it's hidden from the left sidebar menu.
18

19
GitLab CI/CD is enabled by default on new installations and can be disabled either
20
individually under each project's settings, or site-wide by modifying the
21 22 23
settings in `gitlab.yml` and `gitlab.rb` for source and Omnibus installations
respectively.

24
## Per-project user setting
25

26 27 28
The setting to enable or disable GitLab CI/CD can be found under your project's
**Settings > General > Permissions**. Choose one of "Disabled", "Only team members"
or "Everyone with access" and hit **Save changes** for the settings to take effect.
29

30
![Sharing & Permissions settings](../user/project/settings/img/sharing_and_permissions_settings.png)
31

32
## Site-wide admin setting
33

34
You can disable GitLab CI/CD site-wide, by modifying the settings in `gitlab.yml`
35 36
and `gitlab.rb` for source and Omnibus installations respectively.

37
Two things to note:
38

39
1. Disabling GitLab CI/CD, will affect only newly-created projects. Projects that
40
   had it enabled prior to this modification, will work as before.
41
1. Even if you disable GitLab CI/CD, users will still be able to enable it in the
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
   project's settings.

For installations from source, open `gitlab.yml` with your editor and set
`builds` to `false`:

```yaml
## 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:

```
62
gitlab_rails['gitlab_default_projects_features_builds'] = false
63 64 65
```

Save the file and reconfigure GitLab: `sudo gitlab-ctl reconfigure`.