> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53903) in GitLab 11.7.
> Including multiple files from the same project [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/26793) in GitLab 13.6. [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/271560) in GitLab 13.8.
> - Including multiple files from the same project [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/26793) in GitLab 13.6. [Feature flag removed](https://gitlab.com/gitlab-org/gitlab/-/issues/271560) in GitLab 13.8.
To include files from another private project on the same GitLab instance,
To include files from another private project on the same GitLab instance,
use `include:file`. You can use `include:file` in combination with `include:project` only.
use `include:file`. You can use `include:file` in combination with `include:project` only.
...
@@ -451,8 +450,6 @@ include:
...
@@ -451,8 +450,6 @@ include:
#### `include:template`
#### `include:template`
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53445) in GitLab 11.7.
Use `include:template` to include [`.gitlab-ci.yml` templates](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates).
Use `include:template` to include [`.gitlab-ci.yml` templates](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates).
**Keyword type**: Global keyword.
**Keyword type**: Global keyword.
...
@@ -643,8 +640,7 @@ job2:
...
@@ -643,8 +640,7 @@ job2:
**Additional details**:
**Additional details**:
You might need to use single quotes (`'`) or double quotes (`"`) when using
- When you use [these special characters in `script`](script.md#use-special-characters-with-script), you must use single quotes (`'`) or double quotes (`"`) .
[special characters in `script`](script.md#use-special-characters-with-script).
**Related topics**:
**Related topics**:
...
@@ -680,8 +676,8 @@ job:
...
@@ -680,8 +676,8 @@ job:
**Additional details**:
**Additional details**:
Scripts you specify in `before_script` are concatenated with any scripts you specify
-Scripts you specify in `before_script` are concatenated with any scripts you specify
in the main [`script`](#script). The combined scripts execute together in a single shell.
in the main [`script`](#script). The combined scripts execute together in a single shell.
**Related topics**:
**Related topics**:
...
@@ -799,7 +795,7 @@ job4:
...
@@ -799,7 +795,7 @@ job4:
Use the `.pre` stage to make a job run at the start of a pipeline. `.pre` is
Use the `.pre` stage to make a job run at the start of a pipeline. `.pre` is
always the first stage in a pipeline. User-defined stages execute after `.pre`.
always the first stage in a pipeline. User-defined stages execute after `.pre`.
You do not need to define `.pre` in [`stages`](#stages).
You do not have to define `.pre` in [`stages`](#stages).
You must have a job in at least one stage other than `.pre` or `.post`.
You must have a job in at least one stage other than `.pre` or `.post`.
...
@@ -834,7 +830,7 @@ job2:
...
@@ -834,7 +830,7 @@ job2:
Use the `.post` stage to make a job run at the end of a pipeline. `.post`
Use the `.post` stage to make a job run at the end of a pipeline. `.post`
is always the last stage in a pipeline. User-defined stages execute before `.post`.
is always the last stage in a pipeline. User-defined stages execute before `.post`.
You do not need to define `.post` in [`stages`](#stages).
You do not have to define `.post` in [`stages`](#stages).
You must have a job in at least one stage other than `.pre` or `.post`.
You must have a job in at least one stage other than `.pre` or `.post`.
...
@@ -865,8 +861,6 @@ job2:
...
@@ -865,8 +861,6 @@ job2:
### `extends`
### `extends`
> Introduced in GitLab 11.3.
Use `extends` to reuse configuration sections. It's an alternative to [YAML anchors](yaml_specific_features.md#anchors)
Use `extends` to reuse configuration sections. It's an alternative to [YAML anchors](yaml_specific_features.md#anchors)
and is a little more flexible and readable. You can use `extends` to reuse configuration
and is a little more flexible and readable. You can use `extends` to reuse configuration
from [included configuration files](#use-extends-and-include-together).
from [included configuration files](#use-extends-and-include-together).
...
@@ -1356,7 +1350,7 @@ pipeline based on branch names or pipeline types.
...
@@ -1356,7 +1350,7 @@ pipeline based on branch names or pipeline types.
| `schedules` | For [scheduled pipelines](../pipelines/schedules.md). |
| `schedules` | For [scheduled pipelines](../pipelines/schedules.md). |
| `tags` | When the Git reference for a pipeline is a tag. |
| `tags` | When the Git reference for a pipeline is a tag. |
| `triggers` | For pipelines created by using a [trigger token](../triggers/index.md#authentication-tokens). |
| `triggers` | For pipelines created by using a [trigger token](../triggers/index.md#authentication-tokens). |
| `web` | For pipelines created by using **Run pipeline** button in the GitLab UI, from the project's **CI/CD > Pipelines** section. |
| `web` | For pipelines created by selecting **Run pipeline** in the GitLab UI, from the project's **CI/CD > Pipelines** section. |
**Example of `only:refs` and `except:refs`**:
**Example of `only:refs` and `except:refs`**:
...
@@ -1440,8 +1434,6 @@ deploy:
...
@@ -1440,8 +1434,6 @@ deploy:
#### `only:changes` / `except:changes`
#### `only:changes` / `except:changes`
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/19232) in GitLab 11.4.
Use the `changes` keyword with `only` to run a job, or with `except` to skip a job,
Use the `changes` keyword with `only` to run a job, or with `except` to skip a job,
when a Git push event modifies a file.
when a Git push event modifies a file.
...
@@ -2043,7 +2035,7 @@ Use `environment` to define the [environment](../environments/index.md) that a j
...
@@ -2043,7 +2035,7 @@ Use `environment` to define the [environment](../environments/index.md) that a j
**Possible inputs**: The name of the environment the job deploys to, in one of these
**Possible inputs**: The name of the environment the job deploys to, in one of these
formats:
formats:
- Plain text, including letters, digits, spaces and these characters: `-`, `_`, `/`, `$`, `{`, `}`.
- Plain text, including letters, digits, spaces, and these characters: `-`, `_`, `/`, `$`, `{`, `}`.
- CI/CD variables, including predefined, secure, or variables defined in the
- CI/CD variables, including predefined, secure, or variables defined in the
`.gitlab-ci.yml` file. You can't use variables defined in a `script` section.
`.gitlab-ci.yml` file. You can't use variables defined in a `script` section.
...
@@ -2072,7 +2064,7 @@ Common environment names are `qa`, `staging`, and `production`, but you can use
...
@@ -2072,7 +2064,7 @@ Common environment names are `qa`, `staging`, and `production`, but you can use
**Possible inputs**: The name of the environment the job deploys to, in one of these
**Possible inputs**: The name of the environment the job deploys to, in one of these
formats:
formats:
- Plain text, including letters, digits, spaces and these characters: `-`, `_`, `/`, `$`, `{`, `}`.
- Plain text, including letters, digits, spaces, and these characters: `-`, `_`, `/`, `$`, `{`, `}`.
- CI/CD variables, including predefined, secure, or variables defined in the
- CI/CD variables, including predefined, secure, or variables defined in the
`.gitlab-ci.yml` file. You can't use variables defined in a `script` section.
`.gitlab-ci.yml` file. You can't use variables defined in a `script` section.
...
@@ -2124,7 +2116,7 @@ environment.
...
@@ -2124,7 +2116,7 @@ environment.
**Additional details**:
**Additional details**:
See [`environment:action`](#environmentaction) for more details and an example.
-See [`environment:action`](#environmentaction) for more details and an example.
#### `environment:action`
#### `environment:action`
...
@@ -2392,7 +2384,7 @@ cache-job:
...
@@ -2392,7 +2384,7 @@ cache-job:
**Additional details**:
**Additional details**:
- If you use **Windows Batch** to run your shell scripts you need to replace
- If you use **Windows Batch** to run your shell scripts you must replace
`$` with `%`. For example: `key: %CI_COMMIT_REF_SLUG%`
`$` with `%`. For example: `key: %CI_COMMIT_REF_SLUG%`
- The `cache:key` value can't contain:
- The `cache:key` value can't contain:
...
@@ -2446,9 +2438,11 @@ these files changes, a new cache key is computed and a new cache is created. Any
...
@@ -2446,9 +2438,11 @@ these files changes, a new cache key is computed and a new cache is created. Any
job runs that use the same `Gemfile.lock` and `package.json` with `cache:key:files`
job runs that use the same `Gemfile.lock` and `package.json` with `cache:key:files`
use the new cache, instead of rebuilding the dependencies.
use the new cache, instead of rebuilding the dependencies.
**Additional details**: The cache `key` is a SHA computed from the most recent commits
**Additional details**:
that changed each listed file. If neither file is changed in any commits, the
fallback key is `default`.
- The cache `key` is a SHA computed from the most recent commits
that changed each listed file.
If neither file is changed in any commits, the fallback key is `default`.
##### `cache:key:prefix`
##### `cache:key:prefix`
...
@@ -2485,8 +2479,9 @@ If a branch changes `Gemfile.lock`, that branch has a new SHA checksum for `cach
...
@@ -2485,8 +2479,9 @@ If a branch changes `Gemfile.lock`, that branch has a new SHA checksum for `cach
A new cache key is generated, and a new cache is created for that key. If `Gemfile.lock`
A new cache key is generated, and a new cache is created for that key. If `Gemfile.lock`
is not found, the prefix is added to `default`, so the key in the example would be `rspec-default`.
is not found, the prefix is added to `default`, so the key in the example would be `rspec-default`.
**Additional details**: If no file in `cache:key:files` is changed in any commits,
**Additional details**:
the prefix is added to the `default` key.
- If no file in `cache:key:files` is changed in any commits, the prefix is added to the `default` key.
#### `cache:untracked`
#### `cache:untracked`
...
@@ -2552,7 +2547,7 @@ This example stores the cache whether or not the job fails or succeeds.
...
@@ -2552,7 +2547,7 @@ This example stores the cache whether or not the job fails or succeeds.
To change the upload and download behavior of a cache, use the `cache:policy` keyword.
To change the upload and download behavior of a cache, use the `cache:policy` keyword.
By default, the job downloads the cache when the job starts, and uploads changes
By default, the job downloads the cache when the job starts, and uploads changes
to the cache when the job ends. This is the `pull-push` policy (default).
to the cache when the job ends. This caching style is the `pull-push` policy (default).
To set a job to only download the cache when the job starts, but never upload changes
To set a job to only download the cache when the job starts, but never upload changes
when the job finishes, use `cache:policy:pull`.
when the job finishes, use `cache:policy:pull`.
...
@@ -2766,7 +2761,7 @@ time is not defined, it defaults to the
...
@@ -2766,7 +2761,7 @@ time is not defined, it defaults to the
To override the expiration date and protect artifacts from being automatically deleted:
To override the expiration date and protect artifacts from being automatically deleted:
-Use the **Keep** button on the job page.
-Select **Keep** on the job page.
-[In GitLab 13.3 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/22761), set the value of
-[In GitLab 13.3 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/22761), set the value of
`expire_in` to `never`.
`expire_in` to `never`.
...
@@ -2871,7 +2866,7 @@ job:
...
@@ -2871,7 +2866,7 @@ job:
---
---
If you use **Windows Batch** to run your shell scripts you need to replace
If you use **Windows Batch** to run your shell scripts you must replace
`$` with `%`:
`$` with `%`:
```yaml
```yaml
...
@@ -2882,7 +2877,7 @@ job:
...
@@ -2882,7 +2877,7 @@ job:
-binaries/
-binaries/
```
```
If you use **Windows PowerShell** to run your shell scripts you need to replace
If you use **Windows PowerShell** to run your shell scripts you must replace
`$` with `$env:`:
`$` with `$env:`:
```yaml
```yaml
...
@@ -2900,9 +2895,8 @@ link outside it. You can use Wildcards that use [glob](https://en.wikipedia.org/
...
@@ -2900,9 +2895,8 @@ link outside it. You can use Wildcards that use [glob](https://en.wikipedia.org/
patterns and:
patterns and:
- In [GitLab Runner 13.0 and later](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2620),
- In [GitLab Runner 13.0 and later](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2620),
The `license_scanning` report collects [Licenses](../../user/compliance/license_compliance/index.md)
The `license_scanning` report collects [Licenses](../../user/compliance/license_compliance/index.md)
as artifacts.
as artifacts.
The License Compliance report uploads to GitLab as an artifact and displays automatically in merge requests and the pipeline view, and provide data for security
The License Compliance report uploads to GitLab as an artifact and displays automatically
dashboards.
in merge requests and the pipeline view. The report provides data for security dashboards.