Merge branch 'docs-ci-variable-types-usage-example' into 'master'
Docs: Update documentation with CI variable types usage example See merge request gitlab-org/gitlab-ce!28515
This commit is contained in:
commit
0702d4b689
|
|
@ -58,8 +58,29 @@ the need to specify the value itself.
|
|||
|
||||
There are two types of variables supported by GitLab:
|
||||
|
||||
- `env_var`: the runner will create environment variable named same as the variable key and set its value to the variable value.
|
||||
- `file`: the runner will write the variable value to a temporary file and set the path to this file as the value of an environment variable named same as the variable key.
|
||||
- "Variable": the Runner will create an environment variable named same as the variable key and set its value to the variable value.
|
||||
- "File": the Runner will write the variable value to a temporary file and set the path to this file as the value of an environment variable named same as the variable key.
|
||||
|
||||
Many tools (like [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) and [kubectl](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#the-kubeconfig-environment-variable)) provide the ability to customise configuration using files by either providing the file path as a command line argument or an environment variable. Prior to the introduction of variable types, the common pattern was to use the value of a CI variable, save it in a file, and then use the newly created file in your script:
|
||||
|
||||
```bash
|
||||
# Save the content of variable in a file
|
||||
echo "$KUBE_CA_PEM" > "$(pwd)/kube.ca.pem"
|
||||
# Use the newly created file
|
||||
kubectl config set-cluster e2e --server="$KUBE_URL" --certificate-authority="$(pwd)/kube.ca.pem"
|
||||
```
|
||||
|
||||
This can be simplified by creating a variable of type "File" and using it directly. For example, let's say we have the following variables.
|
||||
|
||||

|
||||
|
||||
We can then call them from `.gitlab-ci.yml` like this:
|
||||
|
||||
```bash
|
||||
kubectl config set-cluster e2e --server="$KUBE_URL" --certificate-authority="$KUBE_CA_PEM"
|
||||
```
|
||||
|
||||
Variable types can be set via the [UI](#via-the-ui) or the [API](../../api/project_level_variables.md#create-variable), but not in `.gitlab-ci.yml`.
|
||||
|
||||
#### Masked variables
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 211 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 65 KiB |
Loading…
Reference in New Issue