Merge branch 'docs/gb/improve-docs-about-ci-config-extends' into 'master'
Improve docs about CI/CD config `extends` See merge request gitlab-org/gitlab-ce!21669
This commit is contained in:
commit
a936a6cebd
|
@ -78,16 +78,18 @@ A job is defined by a list of parameters that define the job behavior.
|
||||||
|
|
||||||
### `extends`
|
### `extends`
|
||||||
|
|
||||||
> Introduced in GitLab 11.3
|
> Introduced in GitLab 11.3.
|
||||||
|
|
||||||
`extends` defines an entry name that a job, that uses `extends` is going to
|
`extends` defines an entry name that a job that uses `extends` is going to
|
||||||
inherit from.
|
inherit from.
|
||||||
|
|
||||||
`extends` in an alternative to using [YAML anchors](#anchors) that is a little
|
It is an alternative to using [YAML anchors](#anchors) and is a little
|
||||||
more flexible and readable.
|
more flexible and readable:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
.tests:
|
.tests:
|
||||||
|
script: rake test
|
||||||
|
stage: test
|
||||||
only:
|
only:
|
||||||
refs:
|
refs:
|
||||||
- branches
|
- branches
|
||||||
|
@ -95,16 +97,15 @@ more flexible and readable.
|
||||||
rspec:
|
rspec:
|
||||||
extends: .tests
|
extends: .tests
|
||||||
script: rake rspec
|
script: rake rspec
|
||||||
stage: test
|
|
||||||
only:
|
only:
|
||||||
variables:
|
variables:
|
||||||
- $RSPEC
|
- $RSPEC
|
||||||
```
|
```
|
||||||
|
|
||||||
In the example above the `rspec` job is going to inherit from `.tests`
|
In the example above, the `rspec` job is going to inherit from the `.tests`
|
||||||
template. GitLab will perform a reverse deep merge, what means that it will
|
template job. GitLab will perform a reverse deep merge, which means that it will
|
||||||
merge `rspec` contents into `.tests` recursively, and it is going to result in
|
merge the `rspec` contents into `.tests` recursively, and this is going to result in
|
||||||
following configuration of the `rspec` job:
|
the following `rspec` job:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
rspec:
|
rspec:
|
||||||
|
@ -117,13 +118,12 @@ rspec:
|
||||||
- $RSPEC
|
- $RSPEC
|
||||||
```
|
```
|
||||||
|
|
||||||
`.tests` in this example is a [hidden key](#hidden-keys-jobs), but it is
|
`.tests` in this example is a [hidden key](#hidden-keys-jobs), but it's
|
||||||
possible to inherit from regular jobs as well.
|
possible to inherit from regular jobs as well.
|
||||||
|
|
||||||
`extends` supports multi-level inheritance, however it is not recommended to
|
`extends` supports multi-level inheritance, however it is not recommended to
|
||||||
use more than three levels of inheritance. Maximum nesting level supported is
|
use more than three levels. The maximum nesting level that is supported is 10.
|
||||||
10 levels.
|
The following example has two levels of inheritance:
|
||||||
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
.tests:
|
.tests:
|
||||||
|
@ -149,6 +149,8 @@ spinach:
|
||||||
script: rake spinach
|
script: rake spinach
|
||||||
```
|
```
|
||||||
|
|
||||||
|
`extends` works across configuration files combined with [`include`](#include).
|
||||||
|
|
||||||
### `pages`
|
### `pages`
|
||||||
|
|
||||||
`pages` is a special job that is used to upload static content to GitLab that
|
`pages` is a special job that is used to upload static content to GitLab that
|
||||||
|
|
Loading…
Reference in New Issue