Commit 508a5663 authored by Marcel Amirault's avatar Marcel Amirault Committed by Craig Norris

Move the CI/CD instance settings to admin pages

parent 10932045
---
stage: Verify
group: Pipeline Execution
info: 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
type: howto
---
# GitLab CI/CD instance configuration **(FREE SELF)**
GitLab CI/CD is enabled by default in all new projects on an instance. You can configure
the instance to have [GitLab CI/CD disabled by default](#disable-gitlab-cicd-in-new-projects)
in new projects.
You can still choose to [enable GitLab CI/CD in individual projects](../ci/enable_or_disable_ci.md#enable-cicd-in-a-project)
at any time.
## Disable GitLab CI/CD 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:
1. 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
```
1. Save the `gitlab.yml` file.
1. Restart GitLab:
```shell
sudo service gitlab restart
```
For Omnibus GitLab installations:
1. Edit `/etc/gitlab/gitlab.rb` and add this line:
```ruby
gitlab_rails['gitlab_default_projects_features_builds'] = false
```
1. Save the `/etc/gitlab/gitlab.rb` file.
1. Reconfigure GitLab:
```shell
sudo gitlab-ctl reconfigure
```
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support, and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
...@@ -164,16 +164,16 @@ Learn how to install, configure, update, and maintain your GitLab instance. ...@@ -164,16 +164,16 @@ Learn how to install, configure, update, and maintain your GitLab instance.
- [Limit repository size](../user/admin_area/settings/account_and_limit_settings.md): Set a hard limit for your repositories' size. - [Limit repository size](../user/admin_area/settings/account_and_limit_settings.md): Set a hard limit for your repositories' size.
- [Static objects external storage](static_objects_external_storage.md): Set external storage for static objects in a repository. - [Static objects external storage](static_objects_external_storage.md): Set external storage for static objects in a repository.
## Continuous Integration settings ## CI/CD settings
- [Enable/disable GitLab CI/CD](../ci/enable_or_disable_ci.md#make-gitlab-cicd-disabled-by-default-in-new-projects): Enable or disable GitLab CI/CD for your instance. - [Enable or disable GitLab CI/CD](cicd.md#disable-gitlab-cicd-in-new-projects): Set new projects in your instance to have GitLab CI/CD enabled or disabled by default.
- [GitLab CI/CD administration settings](../user/admin_area/settings/continuous_integration.md): Enable or disable Auto DevOps site-wide and define the artifacts' max size and expiration time. - [GitLab CI/CD administration settings](../user/admin_area/settings/continuous_integration.md): Enable or disable Auto DevOps site-wide and define the artifacts' max size and expiration time.
- [External Pipeline Validation](external_pipeline_validation.md): Enable, disable, and configure external pipeline validation. - [External Pipeline Validation](external_pipeline_validation.md): Enable, disable, and configure external pipeline validation.
- [Job artifacts](job_artifacts.md): Enable, disable, and configure job artifacts (a set of files and directories which are outputted by a job when it completes successfully). - [Job artifacts](job_artifacts.md): Enable, disable, and configure job artifacts (a set of files and directories which are outputted by a job when it completes successfully).
- [Job logs](job_logs.md): Information about the job logs. - [Job logs](job_logs.md): Information about the job logs.
- [Register runners](../ci/runners/runners_scope.md): Learn how to register and configure runners. - [Register runners](../ci/runners/runners_scope.md): Learn how to register and configure runners.
- [Shared runners pipelines quota](../user/admin_area/settings/continuous_integration.md#shared-runners-pipeline-minutes-quota): Limit the usage of pipeline minutes for shared runners. - [Shared runners pipelines quota](../user/admin_area/settings/continuous_integration.md#shared-runners-pipeline-minutes-quota): Limit the usage of pipeline minutes for shared runners.
- [Enable/disable Auto DevOps](../topics/autodevops/index.md#enable-or-disable-auto-devops): Enable or disable Auto DevOps for your instance. - [Enable or disable Auto DevOps](../topics/autodevops/index.md#enable-or-disable-auto-devops): Enable or disable Auto DevOps for your instance.
## Snippet settings ## Snippet settings
......
...@@ -15,8 +15,8 @@ To effectively use GitLab CI/CD, you need: ...@@ -15,8 +15,8 @@ To effectively use GitLab CI/CD, you need:
You can read our [quick start guide](quick_start/index.md) to get you started. You can read our [quick start guide](quick_start/index.md) to get you started.
If you are using an external CI/CD server like Jenkins or Drone CI, it is advised If you use an external CI/CD server like Jenkins or Drone CI, you should
to disable GitLab CI/CD in order to not have any conflicts with the commits status disable GitLab CI/CD to avoid conflicts with the commits status
API. API.
GitLab CI/CD is exposed by using the `/pipelines` and `/jobs` pages of a project. GitLab CI/CD is exposed by using the `/pipelines` and `/jobs` pages of a project.
...@@ -24,17 +24,15 @@ Disabling GitLab CI/CD in a project does not delete any previous jobs. ...@@ -24,17 +24,15 @@ 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 In fact, the `/pipelines` and `/jobs` pages can still be accessed, although
it's hidden from the left sidebar menu. it's hidden from the left sidebar menu.
GitLab CI/CD is enabled by default on new installations and can be disabled GitLab CI/CD is enabled by default on all new projects. You can:
either:
- Individually under each project's settings. - Disable GitLab CI/CD [under each project's settings](#enable-cicd-in-a-project).
- Site-wide by modifying the settings in `gitlab.yml` and `gitlab.rb` for source - Set GitLab CI/CD to be [disabled in all new projects on an instance](../administration/cicd.md).
and Omnibus installations respectively.
This only applies to pipelines run as part of GitLab CI/CD. This doesn't enable or disable 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](../user/project/integrations/overview.md#integrations-listing). pipelines that are run from an [external integration](../user/project/integrations/overview.md#integrations-listing).
## Per-project user setting ## Enable CI/CD in a project
To enable or disable GitLab CI/CD pipelines in your project: To enable or disable GitLab CI/CD pipelines in your project:
...@@ -51,54 +49,6 @@ To enable or disable GitLab CI/CD pipelines in your project: ...@@ -51,54 +49,6 @@ To enable or disable GitLab CI/CD pipelines in your project:
Press **Save changes** for the settings to take effect. 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:
1. 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
```
1. Save the `gitlab.yml` file.
1. Restart GitLab:
```shell
sudo service gitlab restart
```
For Omnibus GitLab installations:
1. Edit `/etc/gitlab/gitlab.rb` and add this line:
```ruby
gitlab_rails['gitlab_default_projects_features_builds'] = false
```
1. Save the `/etc/gitlab/gitlab.rb` file.
1. Reconfigure GitLab:
```shell
sudo gitlab-ctl reconfigure
```
<!-- ## Troubleshooting <!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues Include any troubleshooting steps that you can foresee. If you know beforehand what issues
......
...@@ -135,8 +135,9 @@ of GitLab CI/CD for: ...@@ -135,8 +135,9 @@ of GitLab CI/CD for:
See also: See also:
- [How to enable or disable GitLab CI/CD](enable_or_disable_ci.md). - [Enable or disable GitLab CI/CD in a project](enable_or_disable_ci.md).
- Other [CI administration settings](../administration/index.md#continuous-integration-settings). - [Disable GitLab CI/CD by default in new projects](../administration/cicd.md). **(FREE SELF)**
- Other [CI administration settings](../administration/index.md#cicd-settings).
## References ## References
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment