Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/admin_area/settings/continuous_integration.md')
-rw-r--r--doc/user/admin_area/settings/continuous_integration.md140
1 files changed, 89 insertions, 51 deletions
diff --git a/doc/user/admin_area/settings/continuous_integration.md b/doc/user/admin_area/settings/continuous_integration.md
index decd204dbe5..ffe969a6799 100644
--- a/doc/user/admin_area/settings/continuous_integration.md
+++ b/doc/user/admin_area/settings/continuous_integration.md
@@ -1,22 +1,22 @@
---
stage: Verify
-group: Continuous Integration
+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: reference
---
-# Continuous Integration and Deployment Admin settings **(FREE SELF)**
+# Continuous Integration and Deployment Admin Area settings **(FREE SELF)**
-In this area, you will find settings for Auto DevOps, runners, and job artifacts.
-You can find it in the [Admin Area](index.md) by navigating to
-**Admin Area > Settings > CI/CD**.
+The [Admin Area](index.md) has the instance settings for Auto DevOps, runners, and
+job artifacts.
-## Auto DevOps **(FREE SELF)**
+## Auto DevOps
To enable (or disable) [Auto DevOps](../../../topics/autodevops/index.md)
for all projects:
-1. Go to **Admin Area > Settings > CI/CD**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
1. Check (or uncheck to disable) the box that says **Default to Auto DevOps pipeline for all projects**.
1. Optionally, set up the [Auto DevOps base domain](../../../topics/autodevops/index.md#auto-devops-base-domain)
which is used for Auto Deploy and Auto Review Apps.
@@ -28,6 +28,25 @@ From now on, every existing project and newly created ones that don't have a
If you want to disable it for a specific project, you can do so in
[its settings](../../../topics/autodevops/index.md#enable-or-disable-auto-devops).
+## Shared runner details
+
+To display details about the instance's shared runners in all projects'
+runner settings:
+
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
+1. Expand **Continuous Integration and Deployment**.
+1. Enter your shared runner details in the **Shared runner details** field.
+
+You can use [Markdown](../../markdown.md) for improved formatting. To see the rendered
+details:
+
+1. On the top bar, select **Menu > Project** and select any group or project.
+1. On the left sidebar, select **Settings > CI/CD**.
+1. Expand **Runners**.
+
+![Shared runner details example](img/continuous_integration_shared_runner_details_v14_0.png)
+
## Maximum artifacts size **(FREE SELF)**
The maximum size of the [job artifacts](../../../administration/job_artifacts.md)
@@ -45,9 +64,10 @@ To change it at the:
- Instance level:
- 1. Go to **Admin Area > Settings > CI/CD**.
- 1. Change the value of maximum artifacts size (in MB).
- 1. Click **Save changes** for the changes to take effect.
+ 1. On the top bar, select **Menu >** **{admin}** **Admin**.
+ 1. On the left sidebar, select **Settings > CI/CD**.
+ 1. Change the value of maximum artifacts size (in MB).
+ 1. Click **Save changes** for the changes to take effect.
- Group level (this overrides the instance setting):
@@ -64,14 +84,15 @@ To change it at the:
NOTE:
The setting at all levels is only available to GitLab administrators.
-## Default artifacts expiration **(FREE SELF)**
+## Default artifacts expiration
The default expiration time of the [job artifacts](../../../administration/job_artifacts.md)
can be set in the Admin Area of your GitLab instance. The syntax of duration is
described in [`artifacts:expire_in`](../../../ci/yaml/README.md#artifactsexpire_in)
and the default value is `30 days`.
-1. Go to **Admin Area > Settings > CI/CD**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
1. Change the value of default expiration time.
1. Click **Save changes** for the changes to take effect.
@@ -85,12 +106,13 @@ be updated for artifacts created before this setting was changed.
The administrator may need to manually search for and expire previously-created
artifacts, as described in the [troubleshooting documentation](../../../administration/troubleshooting/gitlab_rails_cheat_sheet.md#remove-artifacts-more-than-a-week-old).
-## Keep the latest artifacts for all jobs in the latest successful pipelines **(CORE ONLY)**
+## Keep the latest artifacts for all jobs in the latest successful pipelines
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50889) in GitLab Core 13.9.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50889) in GitLab 13.9.
-When enabled (default), the artifacts for the most recent pipeline for a ref are
-locked against deletion and kept regardless of the expiry time.
+When enabled (default), the artifacts of the most recent pipeline for each Git ref
+([branches and tags](https://git-scm.com/book/en/v2/Git-Internals-Git-References))
+are locked against deletion and kept regardless of the expiry time.
When disabled, the latest artifacts for any **new** successful or fixed pipelines
are allowed to expire.
@@ -100,7 +122,8 @@ If disabled at the instance level, you cannot enable this per-project.
To disable the setting:
-1. Go to **Admin Area > Settings > CI/CD**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
1. Expand **Continuous Integration and Deployment**.
1. Clear the **Keep the latest artifacts for all jobs in the latest successful pipelines** checkbox.
1. Click **Save changes**
@@ -121,18 +144,17 @@ shared runners per month. Setting this to `0` (default value) grants
unlimited pipeline minutes. While build limits are stored as minutes, the
counting is done in seconds. Usage resets on the first day of each month.
On GitLab.com, the quota is calculated based on your
-[subscription plan](https://about.gitlab.com/pricing/#gitlab-com).
+[subscription plan](../../../subscriptions/gitlab_com/index.md#ci-pipeline-minutes).
To change the pipelines minutes quota:
-1. Go to **Admin Area > Settings > CI/CD**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
1. Expand **Continuous Integration and Deployment**.
1. In the **Pipeline minutes quota** box, enter the maximum number of minutes.
1. Click **Save changes** for the changes to take effect.
----
-
-While the setting in the Admin Area has a global effect, as an admin you can
+While the setting in the Admin Area has a global effect, as an administrator you can
also change each group's pipeline minutes quota to override the global value.
1. Navigate to the **Admin Area > Overview > Groups** and hit the **Edit**
@@ -140,8 +162,8 @@ also change each group's pipeline minutes quota to override the global value.
1. In the **Pipeline Minutes Quota** box, enter the maximum number of minutes.
1. Click **Save changes** for the changes to take effect.
-Once saved, you can see the build quota in the group admin view.
-The quota can also be viewed in the project admin view if shared runners
+Once saved, you can see the build quota in the group settings.
+The quota can also be viewed in the project settings if shared runners
are enabled.
![Project admin information](img/admin_project_quota_view.png)
@@ -151,7 +173,7 @@ a group in the **Usage Quotas** page available to the group page settings list.
![Group pipelines quota](img/group_pipelines_quota.png)
-## Archive jobs **(FREE SELF)**
+## Archive jobs
Archiving jobs is useful for reducing the CI/CD footprint on the system by
removing some of the capabilities of the jobs (metadata needed to run the job),
@@ -159,29 +181,40 @@ but persisting the traces and artifacts for auditing purposes.
To set the duration for which the jobs are considered as old and expired:
-1. Go to **Admin Area > Settings > CI/CD**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
1. Expand the **Continuous Integration and Deployment** section.
1. Set the value of **Archive jobs**.
1. Hit **Save changes** for the changes to take effect.
-Once that time passes, the jobs are archived and no longer able to be
+After that time passes, the jobs are archived and no longer able to be
retried. Make it empty to never expire jobs. It has to be no less than 1 day,
for example: <code>15 days</code>, <code>1 month</code>, <code>2 years</code>.
As of June 22, 2020 the [value is set](../../gitlab_com/index.md#gitlab-cicd) to 3 months on GitLab.com. Jobs created before that date were archived after September 22, 2020.
-## Default CI configuration path
+## Protect CI/CD variables by default
+
+To set all new [CI/CD variables](../../../ci/variables/README.md) as
+[protected](../../../ci/variables/README.md#protect-a-cicd-variable) by default:
+
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
+1. Select **Protect CI/CD variables by default**.
+
+## Default CI/CD configuration file
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18073) in GitLab 12.5.
-The default CI configuration file path for new projects can be set in the Admin
-Area of your GitLab instance (`.gitlab-ci.yml` if not set):
+The default CI/CD configuration file and path for new projects can be set in the Admin Area
+of your GitLab instance (`.gitlab-ci.yml` if not set):
-1. Go to **Admin Area > Settings > CI/CD**.
-1. Input the new path in the **Default CI configuration path** field.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
+1. Input the new file and path in the **Default CI/CD configuration file** field.
1. Hit **Save changes** for the changes to take effect.
-It is also possible to specify a [custom CI/CD configuration path for a specific project](../../../ci/pipelines/settings.md#custom-cicd-configuration-path).
+It is also possible to specify a [custom CI/CD configuration file for a specific project](../../../ci/pipelines/settings.md#custom-cicd-configuration-file).
## Required pipeline configuration **(PREMIUM SELF)**
@@ -191,30 +224,33 @@ This feature is being re-evaluated in favor of a different
We recommend that users who haven't yet implemented this feature wait for
the new solution.
-GitLab administrators can force a pipeline configuration to run on every
-pipeline.
+You can set a [CI/CD template](../../../ci/examples/README.md#cicd-templates)
+as a required pipeline configuration for all projects on a GitLab instance. You can
+use a template from:
-The configuration applies to all pipelines for a GitLab instance and is
-sourced from:
+- The default CI/CD templates.
+- A custom template stored in an [instance template repository](instance_template_repository.md).
-- The [instance template repository](instance_template_repository.md).
-- GitLab-supplied configuration.
+ NOTE:
+ When you use a configuration defined in an instance template repository,
+ nested [`include:`](../../../ci/yaml/README.md#include) keywords
+ (including `include:file`, `include:local`, `include:remote`, and `include:template`)
+ [do not work](https://gitlab.com/gitlab-org/gitlab/-/issues/35345).
-NOTE:
-When you use a configuration defined in an instance template repository,
-nested [`include:`](../../../ci/yaml/README.md#include) keywords
-(including `include:file`, `include:local`, `include:remote`, and `include:template`)
-[do not work](https://gitlab.com/gitlab-org/gitlab/-/issues/35345).
+The project CI/CD configuration merges into the required pipeline configuration when
+a pipeline runs. The merged configuration is the same as if the required pipeline configuration
+added the project configuration with the [`include` keyword](../../../ci/yaml/README.md#include).
+To view a project's full merged configuration, [View the merged YAML](../../../ci/pipeline_editor/index.md#view-expanded-configuration)
+in the pipeline editor.
-To set required pipeline configuration:
+To select a CI/CD template for the required pipeline configuration:
-1. Go to **Admin Area > Settings > CI/CD**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
1. Expand the **Required pipeline configuration** section.
-1. Select the required configuration from the provided dropdown.
+1. Select a CI/CD template from the dropdown.
1. Click **Save changes**.
-![Required pipeline](img/admin_required_pipeline.png)
-
## Package Registry configuration
### npm Forwarding **(PREMIUM SELF)**
@@ -223,7 +259,8 @@ GitLab administrators can disable the forwarding of npm requests to [npmjs.com](
To disable it:
-1. Go to **Admin Area > Settings > CI/CD**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
1. Expand the **Package Registry** section.
1. Uncheck **Enable forwarding of npm package requests to npmjs.org**.
1. Click **Save changes**.
@@ -236,7 +273,8 @@ GitLab administrators can adjust the maximum allowed file size for each package
To set the maximum file size:
-1. Go to **Admin Area > Settings > CI/CD**.
+1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the left sidebar, select **Settings > CI/CD**.
1. Expand the **Package Registry** section.
1. Find the package type you would like to adjust.
1. Enter the maximum file size, in bytes.