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
path: root/doc
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-10-14 06:08:32 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-10-14 06:08:32 +0300
commit79c7e236713d3ac4df48de63018a71ac69f5c2d9 (patch)
treee7a9c4d88af2add743e0b3ebe32decc2e52d5ac5 /doc
parentba12c4bcc80d9e7dba3bd2e24065cc899918acde (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc')
-rw-r--r--doc/api/graphql/reference/gitlab_schema.graphql162
-rw-r--r--doc/api/graphql/reference/gitlab_schema.json221
-rw-r--r--doc/api/lint.md13
-rw-r--r--doc/ci/yaml/README.md81
-rw-r--r--doc/user/admin_area/img/admin_wrench.pngbin3314 -> 0 bytes
-rw-r--r--doc/user/admin_area/license.md112
6 files changed, 439 insertions, 150 deletions
diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql
index bd231c76b14..fd26d567574 100644
--- a/doc/api/graphql/reference/gitlab_schema.graphql
+++ b/doc/api/graphql/reference/gitlab_schema.graphql
@@ -1222,8 +1222,8 @@ type BoardEpic implements CurrentUserTodos & Noteable {
before: String
"""
- List items within a time frame where items.end_date is between startDate and
- endDate parameters (startDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use timeframe.end
"""
endDate: Time
@@ -1273,8 +1273,9 @@ type BoardEpic implements CurrentUserTodos & Noteable {
sort: EpicSort
"""
- List items within a time frame where items.start_date is between startDate
- and endDate parameters (endDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use
+ timeframe.start
"""
startDate: Time
@@ -1282,6 +1283,11 @@ type BoardEpic implements CurrentUserTodos & Noteable {
Filter epics by state
"""
state: EpicState
+
+ """
+ List items overlapping the given timeframe
+ """
+ timeframe: Timeframe
): EpicConnection
"""
@@ -4279,6 +4285,11 @@ enum DastSiteProfileValidationStatusEnum {
}
"""
+Date represented in ISO 8601
+"""
+scalar Date
+
+"""
Autogenerated input type of DeleteAnnotation
"""
input DeleteAnnotationInput {
@@ -5893,8 +5904,8 @@ type Epic implements CurrentUserTodos & Noteable {
before: String
"""
- List items within a time frame where items.end_date is between startDate and
- endDate parameters (startDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use timeframe.end
"""
endDate: Time
@@ -5944,8 +5955,9 @@ type Epic implements CurrentUserTodos & Noteable {
sort: EpicSort
"""
- List items within a time frame where items.start_date is between startDate
- and endDate parameters (endDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use
+ timeframe.start
"""
startDate: Time
@@ -5953,6 +5965,11 @@ type Epic implements CurrentUserTodos & Noteable {
Filter epics by state
"""
state: EpicState
+
+ """
+ List items overlapping the given timeframe
+ """
+ timeframe: Timeframe
): EpicConnection
"""
@@ -7381,8 +7398,8 @@ type Group {
authorUsername: String
"""
- List items within a time frame where items.end_date is between startDate and
- endDate parameters (startDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use timeframe.end
"""
endDate: Time
@@ -7422,8 +7439,9 @@ type Group {
sort: EpicSort
"""
- List items within a time frame where items.start_date is between startDate
- and endDate parameters (endDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use
+ timeframe.start
"""
startDate: Time
@@ -7431,6 +7449,11 @@ type Group {
Filter epics by state
"""
state: EpicState
+
+ """
+ List items overlapping the given timeframe
+ """
+ timeframe: Timeframe
): Epic
"""
@@ -7453,8 +7476,8 @@ type Group {
before: String
"""
- List items within a time frame where items.end_date is between startDate and
- endDate parameters (startDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use timeframe.end
"""
endDate: Time
@@ -7504,8 +7527,9 @@ type Group {
sort: EpicSort
"""
- List items within a time frame where items.start_date is between startDate
- and endDate parameters (endDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use
+ timeframe.start
"""
startDate: Time
@@ -7513,6 +7537,11 @@ type Group {
Filter epics by state
"""
state: EpicState
+
+ """
+ List items overlapping the given timeframe
+ """
+ timeframe: Timeframe
): EpicConnection
"""
@@ -7715,8 +7744,8 @@ type Group {
before: String
"""
- List items within a time frame where items.end_date is between startDate and
- endDate parameters (startDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use timeframe.end
"""
endDate: Time
@@ -7746,8 +7775,9 @@ type Group {
last: Int
"""
- List items within a time frame where items.start_date is between startDate
- and endDate parameters (endDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use
+ timeframe.start
"""
startDate: Time
@@ -7757,6 +7787,11 @@ type Group {
state: IterationState
"""
+ List items overlapping the given timeframe
+ """
+ timeframe: Timeframe
+
+ """
Fuzzy search by title
"""
title: String
@@ -7912,8 +7947,13 @@ type Group {
before: String
"""
- List items within a time frame where items.end_date is between startDate and
- endDate parameters (startDate parameter must be present)
+ A date that the milestone contains
+ """
+ containingDate: Time
+
+ """
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use timeframe.end
"""
endDate: Time
@@ -7938,8 +7978,14 @@ type Group {
last: Int
"""
- List items within a time frame where items.start_date is between startDate
- and endDate parameters (endDate parameter must be present)
+ A search string for the title
+ """
+ searchTitle: String
+
+ """
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use
+ timeframe.start
"""
startDate: Time
@@ -7947,6 +7993,16 @@ type Group {
Filter milestones by state
"""
state: MilestoneStateEnum
+
+ """
+ List items overlapping the given timeframe
+ """
+ timeframe: Timeframe
+
+ """
+ The title of the milestone
+ """
+ title: String
): MilestoneConnection
"""
@@ -13755,8 +13811,8 @@ type Project {
before: String
"""
- List items within a time frame where items.end_date is between startDate and
- endDate parameters (startDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use timeframe.end
"""
endDate: Time
@@ -13786,8 +13842,9 @@ type Project {
last: Int
"""
- List items within a time frame where items.start_date is between startDate
- and endDate parameters (endDate parameter must be present)
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use
+ timeframe.start
"""
startDate: Time
@@ -13797,6 +13854,11 @@ type Project {
state: IterationState
"""
+ List items overlapping the given timeframe
+ """
+ timeframe: Timeframe
+
+ """
Fuzzy search by title
"""
title: String
@@ -14004,8 +14066,13 @@ type Project {
before: String
"""
- List items within a time frame where items.end_date is between startDate and
- endDate parameters (startDate parameter must be present)
+ A date that the milestone contains
+ """
+ containingDate: Time
+
+ """
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use timeframe.end
"""
endDate: Time
@@ -14030,8 +14097,14 @@ type Project {
last: Int
"""
- List items within a time frame where items.start_date is between startDate
- and endDate parameters (endDate parameter must be present)
+ A search string for the title
+ """
+ searchTitle: String
+
+ """
+ List items overlapping a time frame defined by startDate..endDate (if one
+ date is provided, both must be present). Deprecated in 14.0: Use
+ timeframe.start
"""
startDate: Time
@@ -14039,6 +14112,16 @@ type Project {
Filter milestones by state
"""
state: MilestoneStateEnum
+
+ """
+ List items overlapping the given timeframe
+ """
+ timeframe: Timeframe
+
+ """
+ The title of the milestone
+ """
+ title: String
): MilestoneConnection
"""
@@ -18336,6 +18419,21 @@ interface TimeboxBurnupTimeSeriesInterface {
burnupTimeSeries: [BurnupChartDailyTotals!]
}
+"""
+A time-frame defined as a closed inclusive range of two dates
+"""
+input Timeframe {
+ """
+ The end of the range
+ """
+ end: Date!
+
+ """
+ The start of the range
+ """
+ start: Date!
+}
+
type Timelog {
"""
Timestamp of when the time tracked was spent at. Deprecated in 12.10: Use `spentAt`
diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json
index f70814267ef..7e6266ca26c 100644
--- a/doc/api/graphql/reference/gitlab_schema.json
+++ b/doc/api/graphql/reference/gitlab_schema.json
@@ -3181,7 +3181,7 @@
"args": [
{
"name": "startDate",
- "description": "List items within a time frame where items.start_date is between startDate and endDate parameters (endDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.start",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -3191,7 +3191,7 @@
},
{
"name": "endDate",
- "description": "List items within a time frame where items.end_date is between startDate and endDate parameters (startDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.end",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -3200,6 +3200,16 @@
"defaultValue": null
},
{
+ "name": "timeframe",
+ "description": "List items overlapping the given timeframe",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "iid",
"description": "IID of the epic, e.g., \"1\"",
"type": {
@@ -11567,6 +11577,16 @@
"possibleTypes": null
},
{
+ "kind": "SCALAR",
+ "name": "Date",
+ "description": "Date represented in ISO 8601",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "INPUT_OBJECT",
"name": "DeleteAnnotationInput",
"description": "Autogenerated input type of DeleteAnnotation",
@@ -16290,7 +16310,7 @@
"args": [
{
"name": "startDate",
- "description": "List items within a time frame where items.start_date is between startDate and endDate parameters (endDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.start",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -16300,7 +16320,7 @@
},
{
"name": "endDate",
- "description": "List items within a time frame where items.end_date is between startDate and endDate parameters (startDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.end",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -16309,6 +16329,16 @@
"defaultValue": null
},
{
+ "name": "timeframe",
+ "description": "List items overlapping the given timeframe",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "iid",
"description": "IID of the epic, e.g., \"1\"",
"type": {
@@ -20364,7 +20394,7 @@
"args": [
{
"name": "startDate",
- "description": "List items within a time frame where items.start_date is between startDate and endDate parameters (endDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.start",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -20374,7 +20404,7 @@
},
{
"name": "endDate",
- "description": "List items within a time frame where items.end_date is between startDate and endDate parameters (startDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.end",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -20383,6 +20413,16 @@
"defaultValue": null
},
{
+ "name": "timeframe",
+ "description": "List items overlapping the given timeframe",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "iid",
"description": "IID of the epic, e.g., \"1\"",
"type": {
@@ -20503,7 +20543,7 @@
"args": [
{
"name": "startDate",
- "description": "List items within a time frame where items.start_date is between startDate and endDate parameters (endDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.start",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -20513,7 +20553,7 @@
},
{
"name": "endDate",
- "description": "List items within a time frame where items.end_date is between startDate and endDate parameters (startDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.end",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -20522,6 +20562,16 @@
"defaultValue": null
},
{
+ "name": "timeframe",
+ "description": "List items overlapping the given timeframe",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "iid",
"description": "IID of the epic, e.g., \"1\"",
"type": {
@@ -21134,7 +21184,7 @@
"args": [
{
"name": "startDate",
- "description": "List items within a time frame where items.start_date is between startDate and endDate parameters (endDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.start",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -21144,7 +21194,7 @@
},
{
"name": "endDate",
- "description": "List items within a time frame where items.end_date is between startDate and endDate parameters (startDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.end",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -21153,6 +21203,16 @@
"defaultValue": null
},
{
+ "name": "timeframe",
+ "description": "List items overlapping the given timeframe",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "state",
"description": "Filter iterations by state",
"type": {
@@ -21580,7 +21640,7 @@
"args": [
{
"name": "startDate",
- "description": "List items within a time frame where items.start_date is between startDate and endDate parameters (endDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.start",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -21590,7 +21650,7 @@
},
{
"name": "endDate",
- "description": "List items within a time frame where items.end_date is between startDate and endDate parameters (startDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.end",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -21599,6 +21659,16 @@
"defaultValue": null
},
{
+ "name": "timeframe",
+ "description": "List items overlapping the given timeframe",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "ids",
"description": "Array of global milestone IDs, e.g., \"gid://gitlab/Milestone/1\"",
"type": {
@@ -21627,6 +21697,36 @@
"defaultValue": null
},
{
+ "name": "title",
+ "description": "The title of the milestone",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "searchTitle",
+ "description": "A search string for the title",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "containingDate",
+ "description": "A date that the milestone contains",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "includeDescendants",
"description": "Also return milestones in all subgroups and subprojects",
"type": {
@@ -40165,7 +40265,7 @@
"args": [
{
"name": "startDate",
- "description": "List items within a time frame where items.start_date is between startDate and endDate parameters (endDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.start",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -40175,7 +40275,7 @@
},
{
"name": "endDate",
- "description": "List items within a time frame where items.end_date is between startDate and endDate parameters (startDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.end",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -40184,6 +40284,16 @@
"defaultValue": null
},
{
+ "name": "timeframe",
+ "description": "List items overlapping the given timeframe",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "state",
"description": "Filter iterations by state",
"type": {
@@ -40737,7 +40847,7 @@
"args": [
{
"name": "startDate",
- "description": "List items within a time frame where items.start_date is between startDate and endDate parameters (endDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.start",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -40747,7 +40857,7 @@
},
{
"name": "endDate",
- "description": "List items within a time frame where items.end_date is between startDate and endDate parameters (startDate parameter must be present)",
+ "description": "List items overlapping a time frame defined by startDate..endDate (if one date is provided, both must be present). Deprecated in 14.0: Use timeframe.end",
"type": {
"kind": "SCALAR",
"name": "Time",
@@ -40756,6 +40866,16 @@
"defaultValue": null
},
{
+ "name": "timeframe",
+ "description": "List items overlapping the given timeframe",
+ "type": {
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "ids",
"description": "Array of global milestone IDs, e.g., \"gid://gitlab/Milestone/1\"",
"type": {
@@ -40784,6 +40904,36 @@
"defaultValue": null
},
{
+ "name": "title",
+ "description": "The title of the milestone",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "searchTitle",
+ "description": "A search string for the title",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "containingDate",
+ "description": "A date that the milestone contains",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "includeAncestors",
"description": "Also return milestones in the project's parent group and its ancestors",
"type": {
@@ -53363,6 +53513,45 @@
]
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "Timeframe",
+ "description": "A time-frame defined as a closed inclusive range of two dates",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "start",
+ "description": "The start of the range",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Date",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "end",
+ "description": "The end of the range",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "Date",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "Timelog",
"description": null,
diff --git a/doc/api/lint.md b/doc/api/lint.md
index 652a5289f13..addc8d0f9a3 100644
--- a/doc/api/lint.md
+++ b/doc/api/lint.md
@@ -6,7 +6,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# CI Lint API
-## Validate the CI YAML config
+## Validate the CI YAML configuration
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5953) in GitLab 8.12.
@@ -26,7 +26,7 @@ POST /ci/lint
curl --header "Content-Type: application/json" "https://gitlab.example.com/api/v4/ci/lint" --data '{"content": "{ \"image\": \"ruby:2.6\", \"services\": [\"postgres\"], \"before_script\": [\"bundle install\", \"bundle exec rake db:create\"], \"variables\": {\"DB_NAME\": \"postgres\"}, \"types\": [\"test\", \"deploy\", \"notify\"], \"rspec\": { \"script\": \"rake spec\", \"tags\": [\"ruby\", \"postgres\"], \"only\": [\"branches\"]}}"}'
```
-Be sure to paste the exact contents of your GitLab CI/CD YAML config because YAML
+Be sure to paste the exact contents of your GitLab CI/CD YAML configuration because YAML
is very sensitive about indentation and spacing.
Example responses:
@@ -61,7 +61,10 @@ Example responses:
### YAML expansion
-The expansion only works for CI configurations that don't have local [includes](../ci/yaml/README.md#include).
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/29568) in GitLab 13.5.
+
+The CI lint returns an expanded version of the configuration. The expansion does not
+work for CI configuration added with [`include: local`](../ci/yaml/README.md#includelocal).
Example contents of a `.gitlab-ci.yml` passed to the CI Lint API with
`include_merged_yaml` set as true:
@@ -119,7 +122,7 @@ curl "https://gitlab.example.com/api/v4/projects/:id/ci/lint"
Example responses:
-- Valid config:
+- Valid configuration:
```json
{
@@ -130,7 +133,7 @@ Example responses:
}
```
-- Invalid config:
+- Invalid configuration:
```json
{
diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md
index 0656c76236d..920cf92fe88 100644
--- a/doc/ci/yaml/README.md
+++ b/doc/ci/yaml/README.md
@@ -2622,10 +2622,12 @@ The `stop_review_app` job is **required** to have the following keywords defined
- `environment:action`
Additionally, both jobs should have matching [`rules`](../yaml/README.md#onlyexcept-basic)
-or [`only/except`](../yaml/README.md#onlyexcept-basic) configuration. In the example
-above, if the configuration is not identical, the `stop_review_app` job might not be
-included in all pipelines that include the `review_app` job, and it is not
-possible to trigger the `action: stop` to stop the environment automatically.
+or [`only/except`](../yaml/README.md#onlyexcept-basic) configuration.
+
+In the example above, if the configuration is not identical:
+
+- The `stop_review_app` job might not be included in all pipelines that include the `review_app` job.
+- It is not possible to trigger the `action: stop` to stop the environment automatically.
#### `environment:auto_stop_in`
@@ -2774,17 +2776,17 @@ rspec:
- binaries/
```
-Note that since cache is shared between jobs, if you're using different
-paths for different jobs, you should also set a different **cache:key**
-otherwise cache content can be overwritten.
+The cache is shared between jobs, so if you're using different
+paths for different jobs, you should also set a different `cache:key`.
+Otherwise cache content can be overwritten.
#### `cache:key`
> Introduced in GitLab Runner v1.0.0.
-Since the cache is shared between jobs, if you're using different
-paths for different jobs, you should also set a different `cache:key`
-otherwise cache content can be overwritten.
+The cache is shared between jobs, so if you're using different
+paths for different jobs, you should also set a different `cache:key`.
+Otherwise cache content can be overwritten.
The `key` parameter defines the affinity of caching between jobs,
to have a single cache for all jobs, cache per-job, cache per-branch
@@ -2973,13 +2975,13 @@ rspec:
- bundle exec rspec ...
```
-This helps to speed up job execution and reduce load on the cache server,
-especially when you have a large number of cache-using jobs executing in
+This helps to speed up job execution and reduce load on the cache server.
+It is especially helpful when you have a large number of cache-using jobs executing in
parallel.
-Additionally, if you have a job that unconditionally recreates the cache without
-reference to its previous contents, you can use `policy: push` in that job to
-skip the download step.
+If you have a job that unconditionally recreates the cache without
+referring to its previous contents, you can skip the download step.
+To do so, add `policy: push` to the job.
### `artifacts`
@@ -2992,7 +2994,7 @@ skip the download step.
`artifacts` is used to specify a list of files and directories that are
attached to the job when it [succeeds, fails, or always](#artifactswhen).
-The artifacts are sent to GitLab after the job finishes and are
+The artifacts are sent to GitLab after the job finishes. They are
available for download in the GitLab UI if the size is not
larger than the [maximum artifact size](../../user/gitlab_com/index.md#gitlab-cicd).
@@ -3341,19 +3343,22 @@ These are the available report types:
> Introduced in GitLab 8.6 and GitLab Runner v1.1.1.
-By default, all [`artifacts`](#artifacts) from all previous [stages](#stages)
-are passed, but you can use the `dependencies` parameter to define a limited
-list of jobs (or no jobs) to fetch artifacts from.
+By default, all [`artifacts`](#artifacts) from previous [stages](#stages)
+are passed to each job. However, you can use the `dependencies` parameter to
+define a limited list of jobs to fetch artifacts from. You can also set a job to download no artifacts at all.
To use this feature, define `dependencies` in context of the job and pass
a list of all previous jobs the artifacts should be downloaded from.
-You can only define jobs from stages that are executed before the current one.
-An error is shown if you define jobs from the current stage or next ones.
-Defining an empty array skips downloading any artifacts for that job.
-The status of the previous job is not considered when using `dependencies`, so
-if it failed or it's a manual job that was not run, no error occurs.
-In the following example, we define two jobs with artifacts, `build:osx` and
+You can define jobs from stages that were executed before the current one.
+An error occurs if you define jobs from the current or an upcoming stage.
+
+To prevent a job from downloading artifacts, define an empty array.
+
+When you use `dependencies`, the status of the previous job is not considered.
+If a job fails or it's a manual job that was not run, no error occurs.
+
+The following example defines two jobs with artifacts: `build:osx` and
`build:linux`. When the `test:osx` is executed, the artifacts from `build:osx`
are downloaded and extracted in the context of the build. The same happens
for `test:linux` and artifacts from `build:linux`.
@@ -3435,14 +3440,14 @@ job1:
Use `retry` to configure how many times a job is retried in
case of a failure.
-When a job fails and has `retry` configured, the job is processed again,
-up to the amount of times specified by the `retry` keyword.
+When a job fails, the job is processed again,
+until the limit specified by the `retry` keyword is reached.
-If `retry` is set to 2, and a job succeeds in a second run (first retry), it is not tried
-again. `retry` value has to be a positive integer, equal to or larger than 0, but
-less than or equal to 2 (two retries maximum, three runs in total).
+If `retry` is set to `2`, and a job succeeds in a second run (first retry), it is not retried.
+The `retry` value must be a positive integer, from `0` to `2`
+(two retries maximum, three runs in total).
-A simple example to retry in all failure cases:
+This example retries all failure cases:
```yaml
test:
@@ -3640,9 +3645,9 @@ You can use this keyword to create two different types of downstream pipelines:
- [Multi-project pipelines](../multi_project_pipelines.md#creating-multi-project-pipelines-from-gitlab-ciyml)
- [Child pipelines](../parent_child_pipelines.md)
-[Since GitLab 13.2](https://gitlab.com/gitlab-org/gitlab/-/issues/197140/), you can
-see which job triggered a downstream pipeline by hovering your mouse cursor over
-the downstream pipeline job in the [pipeline graph](../pipelines/index.md#visualize-pipelines).
+[In GitLab 13.2 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/197140/), you can
+view which job triggered a downstream pipeline. In the [pipeline graph](../pipelines/index.md#visualize-pipelines),
+hover over the downstream pipeline job.
In [GitLab 13.5](https://gitlab.com/gitlab-org/gitlab/-/issues/201938) and later, you
can use [`when:manual`](#whenmanual) in the same job as `trigger`. In GitLab 13.4 and
@@ -3782,7 +3787,7 @@ trigger_job:
This setting can help keep your pipeline execution linear. In the example above, jobs from
subsequent stages wait for the triggered pipeline to successfully complete before
-starting, at the cost of reduced parallelization.
+starting, which reduces parallelization.
#### Trigger a pipeline by API call
@@ -3859,7 +3864,7 @@ to semaphores in other programming languages.
When the `resource_group` key is defined for a job in `.gitlab-ci.yml`,
job executions are mutually exclusive across different pipelines for the same project.
If multiple jobs belonging to the same resource group are enqueued simultaneously,
-only one of the jobs is picked by the runner, and the other jobs wait until the
+only one of the jobs is picked by the runner. The other jobs wait until the
`resource_group` is free.
Here is a simple example:
@@ -3870,9 +3875,7 @@ deploy-to-production:
resource_group: production
```
-In this case, if a `deploy-to-production` job is running in a pipeline, and a new
-`deploy-to-production` job is created in a different pipeline, it doesn't run until
-the currently running/pending `deploy-to-production` job finishes. As a result,
+In this case, two `deploy-to-production` jobs in two separate pipelines can never run at the same time. As a result,
you can ensure that concurrent deployments never happen to the production environment.
There can be multiple `resource_group`s defined per environment. A good use case for this
diff --git a/doc/user/admin_area/img/admin_wrench.png b/doc/user/admin_area/img/admin_wrench.png
deleted file mode 100644
index 17eee143e87..00000000000
--- a/doc/user/admin_area/img/admin_wrench.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/admin_area/license.md b/doc/user/admin_area/license.md
index ecbc615f56a..c37a61d6748 100644
--- a/doc/user/admin_area/license.md
+++ b/doc/user/admin_area/license.md
@@ -8,130 +8,126 @@ type: howto
# Activate GitLab EE with a license **(STARTER ONLY)**
To activate all GitLab Enterprise Edition (EE) functionality, you need to upload
-a license. Once you've received your license from GitLab Inc., you can upload it
-by **signing into your GitLab instance as an admin** or add it at
+a license. After you've received your license from GitLab Inc., you can upload it
+by **signing into your GitLab instance as an admin** or adding it at
installation time.
-The license has the form of a base64 encoded ASCII text with a `.gitlab-license`
-extension and can be obtained when you [purchase one](https://about.gitlab.com/pricing/) or when you sign
-up for a [free trial](https://about.gitlab.com/free-trial/).
+The license is a base64-encoded ASCII text file with a `.gitlab-license`
+extension. You can obtain the file by [purchasing a license](https://about.gitlab.com/pricing/)
+or by signing up for a [free trial](https://about.gitlab.com/free-trial/).
-NOTE: **Note:**
As of GitLab Enterprise Edition 9.4.0, a newly-installed instance without an
-uploaded license will only have the Core features active. A trial license will
-activate all Ultimate features, but after
+uploaded license only has the Core features active. A trial license
+activates all Ultimate features, but after
[the trial expires](#what-happens-when-your-license-expires), some functionality
-will be locked.
+is locked.
## Uploading your license
The very first time you visit your GitLab EE installation signed in as an admin,
you should see a note urging you to upload a license with a link that takes you
-straight to **Admin Area > License**.
+to **Admin Area > License**.
Otherwise, you can:
-1. Navigate manually to the **Admin Area** by clicking the wrench icon in the menu bar.
+1. Navigate manually to the **Admin Area** by clicking the wrench (**{admin}**) icon in the menu bar.
- ![Admin Area icon](img/admin_wrench.png)
-
-1. And then going to the **License** tab and click on **Upload New License**.
+1. Navigate to the **License** tab, and click **Upload New License**.
![License Admin Area](img/license_admin_area.png)
-1. If you've received a `.gitlab-license` file, you should have already downloaded
- it in your local machine. You can then upload it directly by choosing the
- license file and clicking the **Upload license** button. In the image below,
- you can see that the selected license file is named `GitLab.gitlab-license`.
+ - *If you've received a `.gitlab-license` file,* you should have already downloaded
+ it in your local machine. You can then upload it directly by choosing the
+ license file and clicking the **Upload license** button. In the image below,
+ the selected license file is named `GitLab.gitlab-license`.
- ![Upload license](img/license_upload.png)
+ ![Upload license](img/license_upload.png)
- If you've received your license as plain text, you need to select the
- "Enter license key" option, copy the license, paste it into the "License key"
- field and click **Upload license**.
+ - *If you've received your license as plain text,* select the
+ **Enter license key** option, copy the license, paste it into the **License key**
+ field, and click **Upload license**.
## Add your license at install time
-A license can be automatically imported at install time, by placing a file named
-`Gitlab.gitlab-license` in `/etc/gitlab/` for Omnibus, or `config/` for source installations.
+A license can be automatically imported at install time by placing a file named
+`Gitlab.gitlab-license` in `/etc/gitlab/` for Omnibus GitLab, or `config/` for source installations.
-It is also possible to specify a custom location and filename for the license.
+You can also specify a custom location and filename for the license:
-Source installations should set the `GITLAB_LICENSE_FILE` environment
-variable with the path to a valid GitLab Enterprise Edition license.
+- Source installations should set the `GITLAB_LICENSE_FILE` environment
+ variable with the path to a valid GitLab Enterprise Edition license.
-```shell
-export GITLAB_LICENSE_FILE="/path/to/license/file"
-```
+ ```shell
+ export GITLAB_LICENSE_FILE="/path/to/license/file"
+ ```
-Omnibus installations should add this entry to `gitlab.rb`:
+- Omnibus GitLab installations should add this entry to `gitlab.rb`:
-```ruby
-gitlab_rails['initial_license_file'] = "/path/to/license/file"
-```
+ ```ruby
+ gitlab_rails['initial_license_file'] = "/path/to/license/file"
+ ```
CAUTION: **Caution:**
-These methods will only add a license at the time of installation. Use the
-Admin Area in the web user interface to renew or upgrade licenses.
+These methods only add a license at the time of installation. Use the
+**{admin}** **Admin Area** in the web user interface to renew or upgrade licenses.
---
-Once the license is uploaded, all GitLab Enterprise Edition functionality
-will be active until the end of the license period. When that period ends, the
+After the license is uploaded, all GitLab Enterprise Edition functionality
+is active until the end of the license period. When that period ends, the
instance will [fall back](#what-happens-when-your-license-expires) to Core-only
functionality.
-You can review the license details at any time in the License section of the
-Admin Area.
+You can review the license details at any time in the **License** section of the
+**Admin Area**.
![License details](img/license_details.png)
## Notification before the license expires
-One month before the license expires, a message informing when the expiration
-is due to, will start appearing to GitLab admins. Make sure that you update your
-license, otherwise you will miss all the paid features if it expires.
+One month before the license expires, a message informing about the expiration
+date is displayed to GitLab admins. Make sure that you update your
+license, otherwise you miss all the paid features if your license expires.
## What happens when your license expires
-In case your license expires, GitLab will lock down some features like Git pushes,
-issue creation, etc., and a message to inform of the expired license will be
-presented to all admins.
+In case your license expires, GitLab locks down some features like Git pushes,
+and issue creation, and displays a message to all admins to inform of the expired license.
-In order to get back all the previous functionality, a new license must be uploaded.
-To fall back to having only the Core features active, you'll need to delete the
+To get back all the previous functionality, you must upload a new license.
+To fall back to having only the Core features active, you must delete the
expired license(s).
### Remove a license
To remove a license from a self-managed instance:
-1. Go to the [Admin Area](index.md) (click the wrench in the top navigation bar).
+1. In the top navigation bar, click the **{admin}** wrench icon to navigate to the [Admin Area](index.md).
1. Click **License** in the left sidebar.
1. Click **Remove License**.
## License history
-It's possible to upload and view more than one license,
-but only the latest license will be used as the active license.
+You can upload and view more than one license,
+but only the latest license is used as the active license.
## Troubleshooting
### There is no License tab in the Admin Area
-If you originally installed Community Edition rather than Enterprise Edition you will need to
+If you originally installed Community Edition rather than Enterprise Edition you must
[upgrade to Enterprise Edition](../../update/README.md#community-to-enterprise-edition)
before uploading your license.
-GitLab.com users cannot upload and use a self-managed license. If you
-wish to use paid features on GitLab.com, a separate subscription may be
-[purchased](../../subscriptions/gitlab_com/index.md).
+GitLab.com users can't upload and use a self-managed license. If you
+want to use paid features on GitLab.com, you can
+[purchase a separate subscription](../../subscriptions/gitlab_com/index.md).
### Users exceed license limit upon renewal
-If you've added new users to your GitLab instance prior to renewal you may need to
-purchase additional seats to cover those users. If this is the case and a license
-without enough users is uploaded a message is displayed prompting you to purchase
+If you've added new users to your GitLab instance prior to renewal, you may need to
+purchase additional seats to cover those users. If this is the case, and a license
+without enough users is uploaded, GitLab displays a message prompting you to purchase
additional users. More information on how to determine the required number of users
and how to add additional seats can be found in the
[licensing FAQ](https://about.gitlab.com/pricing/licensing-faq/).