continuous_integration.md 7.9 KB
Newer Older
1 2 3 4
---
type: reference
---

5
# Continuous Integration and Deployment Admin settings **(CORE ONLY)**
6

7 8
In this area, you will find settings for Auto DevOps, Runners and job artifacts.
You can find it in the admin area, under **Settings > Continuous Integration and Deployment**.
9

10
![Admin area settings button](../img/admin_area_settings_button.png)
11

12
## Auto DevOps **(CORE ONLY)**
13

14 15
To enable (or disable) [Auto DevOps](../../../topics/autodevops/index.md)
for all projects:
16

17 18
1. Go to **Admin area > Settings > Continuous Integration and Deployment**
1. Check (or uncheck to disable) the box that says "Default to Auto DevOps pipeline for all projects"
19 20 21
1. Optionally, set up the [Auto DevOps base domain](../../../topics/autodevops/index.md#auto-devops-base-domain)
   which is going to be used for Auto Deploy and Auto Review Apps.
1. Hit **Save changes** for the changes to take effect.
22

23 24
From now on, every existing project and newly created ones that don't have a
`.gitlab-ci.yml`, will use the Auto DevOps pipelines.
25

26
If you want to disable it for a specific project, you can do so in
27
[its settings](../../../topics/autodevops/index.md#enablingdisabling-auto-devops).
28

29
## Maximum artifacts size **(CORE ONLY)**
30

31 32 33
The maximum size of the [job artifacts](../../../administration/job_artifacts.md)
can be set in the Admin area of your GitLab instance. The value is in *MB* and
the default is 100MB per job; on GitLab.com it's [set to 1G](../../gitlab_com/index.md#gitlab-cicd).
34

35
To change it:
36

37 38 39
1. Go to **Admin area > Settings > Continuous Integration and Deployment**.
1. Change the value of maximum artifacts size (in MB).
1. Hit **Save changes** for the changes to take effect.
40

41
## Default artifacts expiration **(CORE ONLY)**
42

43 44
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
45
described in [`artifacts:expire_in`](../../../ci/yaml/README.md#artifactsexpire_in)
46
and the default value is `30 days`. On GitLab.com they
47
[never expire](../../gitlab_com/index.md#gitlab-cicd).
48

49 50 51
1. Go to **Admin area > Settings > Continuous Integration and Deployment**.
1. Change the value of default expiration time.
1. Hit **Save changes** for the changes to take effect.
52

53
This setting is set per job and can be overridden in
54
[`.gitlab-ci.yml`](../../../ci/yaml/README.md#artifactsexpire_in).
55
To disable the expiration, set it to `0`. The default unit is in seconds.
56

57
## Shared Runners pipeline minutes quota **(STARTER ONLY)**
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91

> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1078)
in GitLab Starter 8.16.

If you have enabled shared Runners for your GitLab instance, you can limit their
usage by setting a maximum number of pipeline minutes that a group can use on
shared Runners per month. Setting this to `0` (default value) will grant
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).

To change the pipelines minutes quota:

1. Go to **Admin area > Settings > Continuous Integration and Deployment**
1. Set the pipeline minutes quota limit.
1. Hit **Save changes** for the changes to take effect

---

While the setting in the Admin area has a global effect, as an admin you can
also change each group's pipeline minutes quota to override the global value.

1. Navigate to the **Groups** admin area and hit the **Edit** button for the
   group you wish to change the pipeline minutes quota.
1. Set the pipeline minutes quota to the desired value
1. Hit **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
are enabled.

![Project admin info](img/admin_project_quota_view.png)

92 93
You can see an overview of the pipeline minutes quota of all projects of
a group in the **Usage Quotas** page available to the group page settings list.
94 95 96

![Group pipelines quota](img/group_pipelines_quota.png)

97
## Extra Shared Runners pipeline minutes quota **[FREE ONLY]**
98

99 100 101
If you're using GitLab.com, you can purchase additional CI minutes so your
pipelines will not be blocked after you have used all your CI minutes from your
main quota.
102 103 104 105 106 107 108 109

In order to purchase additional minutes, you should follow these steps:

1. Go to **Group > Settings > Pipelines quota**. Once you are on that page, click on **Buy additional minutes**.

    ![Buy additional minutes](img/buy_btn.png)

1. Locate the subscription card that is linked to your group on GitLab.com,
E
Evan Read 已提交
110
   click on **Buy more CI minutes**, and complete the details about the transaction.
111 112 113 114

    ![Buy additional minutes](img/buy_minutes_card.png)

1. Once we have processed your payment, the extra CI minutes
E
Evan Read 已提交
115 116
   will be synced to your Group and you can visualize it from  the
   **Group > Settings > Pipelines quota** page:
117 118 119

    ![Additional minutes](img/additional_minutes.png)

R
Rubén Dávila 已提交
120 121 122
Be aware that:

1. If you have purchased extra CI minutes before the purchase of a paid plan,
E
Evan Read 已提交
123 124 125
   we will calculate a pro-rated charge for your paid plan. That means you may
   be charged for less than one year since your subscription was previously
   created with the extra CI minutes.
R
Rubén Dávila 已提交
126
1. Once the extra CI minutes has been assigned to a Group they cannot be transferred
E
Evan Read 已提交
127
   to a different Group.
R
Rubén Dávila 已提交
128
1. If you have some minutes used over your default quota, these minutes will
E
Evan Read 已提交
129 130
   be deducted from your Additional Minutes quota immediately after your purchase of additional
   minutes.
131

R
Rubén Dávila 已提交
132 133 134 135 136 137 138 139
## What happens when my CI minutes quota run out

When the CI minutes quota run out, an email is sent automatically to notifies the owner(s) of the group/namespace which
includes a link to [purchase more minutes](https://customers.gitlab.com/plans).

If you are not the owner of the group, you will need to contact them to let them know they need to
[purchase more minutes](https://customers.gitlab.com/plans).

140
## Archive jobs **(CORE ONLY)**
141

K
Kamil Trzciński 已提交
142 143 144
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),
but persisting the traces and artifacts for auditing purposes.
145

K
Kamil Trzciński 已提交
146
To set the duration for which the jobs will be considered as old and expired:
147

K
Kamil Trzciński 已提交
148 149
1. Go to **Admin area > Settings > CI/CD > Continuous Integration and Deployment**.
1. Change the value of "Archive jobs".
150
1. Hit **Save changes** for the changes to take effect.
K
Kamil Trzciński 已提交
151 152 153 154

Once that time passes, the jobs will be 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>.
155 156 157 158 159 160 161 162 163 164 165

<!-- ## 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
R
Rubén Dávila 已提交
166
but commented out to help encourage others to add to it in the future. -->
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186

## Required pipeline configuration **(PREMIUM ONLY)**

GitLab administrators can force a pipeline configuration to run on every
pipeline.

The configuration applies to all pipelines for a GitLab instance and is 
sourced from:

- The [instance template repository](instance_template_repository.md).
- GitLab-supplied configuration.

To set required pipeline configuration:

1. Go to **Admin area > Settings > CI/CD**.
1. Expand the **Required pipeline configuration** section.
1. Select the required configuration from the provided dropdown.
1. Click **Save changes**.

![Required pipeline](img/admin_required_pipeline.png)