summaryrefslogtreecommitdiff
path: root/doc/ci/yaml/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ci/yaml/README.md')
-rw-r--r--doc/ci/yaml/README.md88
1 files changed, 55 insertions, 33 deletions
diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md
index be114e7008e..fb6d9826d08 100644
--- a/doc/ci/yaml/README.md
+++ b/doc/ci/yaml/README.md
@@ -308,7 +308,9 @@ except master.
## `only` and `except` (complex)
-> Introduced in GitLab 10.0
+> `refs` and `kubernetes` policies introduced in GitLab 10.0
+
+> `variables` policy introduced in 10.7
CAUTION: **Warning:**
This an _alpha_ feature, and it it subject to change at any time without
@@ -354,7 +356,7 @@ deploy:
- $STAGING
```
-Learn more about variables expressions on a separate page.
+Learn more about variables expressions on [a separate page][variables-expressions].
## `tags`
@@ -869,37 +871,29 @@ skip the download step.
- Introduced in GitLab Runner v0.7.0 for non-Windows platforms.
- Windows support was added in GitLab Runner v.1.0.0.
- From GitLab 9.2, caches are restored before artifacts.
-- Currently not all executors are supported.
+- Not all executors are [supported](https://docs.gitlab.com/runner/executors/#compatibility-chart).
- Job artifacts are only collected for successful jobs by default.
`artifacts` is used to specify a list of files and directories which should be
-attached to the job after success. You can only use paths that are within the
-project workspace. To pass artifacts between different jobs, see [dependencies](#dependencies).
-Below are some examples.
+attached to the job after success.
-Send all files in `binaries` and `.config`:
+The artifacts will be sent to GitLab after the job finishes successfully and will
+be available for download in the GitLab UI.
-```yaml
-artifacts:
- paths:
- - binaries/
- - .config
-```
+[Read more about artifacts.](../../user/project/pipelines/job_artifacts.md)
-Send all Git untracked files:
+### `artifacts:paths`
-```yaml
-artifacts:
- untracked: true
-```
+You can only use paths that are within the project workspace. To pass artifacts
+between different jobs, see [dependencies](#dependencies).
-Send all Git untracked files and files in `binaries`:
+Send all files in `binaries` and `.config`:
```yaml
artifacts:
- untracked: true
paths:
- binaries/
+ - .config
```
To disable artifact passing, define the job with empty [dependencies](#dependencies):
@@ -933,11 +927,6 @@ release-job:
- tags
```
-The artifacts will be sent to GitLab after the job finishes successfully and will
-be available for download in the GitLab UI.
-
-[Read more about artifacts.](../../user/project/pipelines/job_artifacts.md)
-
### `artifacts:name`
> Introduced in GitLab 8.6 and GitLab Runner v1.1.0.
@@ -954,26 +943,30 @@ To create an archive with a name of the current job:
job:
artifacts:
name: "$CI_JOB_NAME"
+ paths:
+ - binaries/
```
To create an archive with a name of the current branch or tag including only
-the files that are untracked by Git:
+the binaries directory:
```yaml
job:
artifacts:
name: "$CI_COMMIT_REF_NAME"
- untracked: true
+ paths:
+ - binaries/
```
To create an archive with a name of the current job and the current branch or
-tag including only the files that are untracked by Git:
+tag including only the binaries directory:
```yaml
job:
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
- untracked: true
+ paths:
+ - binaries/
```
To create an archive with a name of the current [stage](#stages) and branch name:
@@ -982,7 +975,8 @@ To create an archive with a name of the current [stage](#stages) and branch name
job:
artifacts:
name: "$CI_JOB_STAGE-$CI_COMMIT_REF_NAME"
- untracked: true
+ paths:
+ - binaries/
```
---
@@ -994,7 +988,8 @@ If you use **Windows Batch** to run your shell scripts you need to replace
job:
artifacts:
name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%"
- untracked: true
+ paths:
+ - binaries/
```
If you use **Windows PowerShell** to run your shell scripts you need to replace
@@ -1004,7 +999,33 @@ If you use **Windows PowerShell** to run your shell scripts you need to replace
job:
artifacts:
name: "$env:CI_JOB_STAGE-$env:CI_COMMIT_REF_NAME"
- untracked: true
+ paths:
+ - binaries/
+```
+
+### `artifacts:untracked`
+
+`artifacts:untracked` is used to add all Git untracked files as artifacts (along
+to the paths defined in `artifacts:paths`).
+
+NOTE: **Note:**
+To exclude the folders/files which should not be a part of `untracked` just
+add them to `.gitignore`.
+
+Send all Git untracked files:
+
+```yaml
+artifacts:
+ untracked: true
+```
+
+Send all Git untracked files and files in `binaries`:
+
+```yaml
+artifacts:
+ untracked: true
+ paths:
+ - binaries/
```
### `artifacts:when`
@@ -1552,7 +1573,7 @@ capitalization, the commit will be created but the pipeline will be skipped.
Each instance of GitLab CI has an embedded debug tool called Lint, which validates the
content of your `.gitlab-ci.yml` files. You can find the Lint under the page `ci/lint` of your
-project namespace (e.g, `http://gitlab-example.com/gitlab-org/project-123/ci/lint`)
+project namespace (e.g, `http://gitlab-example.com/gitlab-org/project-123/-/ci/lint`)
## Using reserved keywords
@@ -1574,3 +1595,4 @@ CI with various languages.
[ce-7447]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7447
[ce-12909]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12909
[schedules]: ../../user/project/pipelines/schedules.md
+[variables-expressions]: ../variables/README.md#variables-expressions