I'm trying top create a pipeline for my project and i try to access environment variables in different scenarios:
.gitlab-ci.yml:
variables:
PROJECT_NAME: ${PROJECT_NAME}
REPOSITORY_NAME: $REPOSITORY_NAME
prepare:
stage: prepare
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'develop'
variables:
ENVIRONMENT: dev
CUSTOM_ENVIRONMENT_NAME: development
environment: $CUSTOM_ENVIRONMENT_NAME
image: docker:stable
script:
# Specify in global variables
- echo $PROJECT_NAME
- echo ${PROJECT_NAME}
- echo "$PROJECT_NAME"
- echo $REPOSITORY_NAME
- echo ${REPOSITORY_NAME}
- echo "$REPOSITORY_NAME"
# Specify in stage variables
- echo $ENVIRONMENT
- echo ${ENVIRONMENT}
- echo "$ENVIRONMENT"
# Specify in CI custom variables
- echo $AWS_ECR_REGISTRY
- echo "$AWS_ECR_REGISTRY"
- echo ${AWS_ECR_REGISTRY}
# Specify in CI predefined variables
- echo $CI_ENVIRONMENT_NAME
- echo ${CI_ENVIRONMENT_NAME}
- echo "$CI_ENVIRONMENT_NAME"
The output is:
$ echo $PROJECT_NAME
${PROJECT_NAME}
$ echo ${PROJECT_NAME}
${PROJECT_NAME}
$ echo "$PROJECT_NAME"
${PROJECT_NAME}
$ echo $REPOSITORY_NAME
$REPOSITORY_NAME
$ echo ${REPOSITORY_NAME}
$REPOSITORY_NAME
$ echo "$REPOSITORY_NAME"
$REPOSITORY_NAME
$ echo $ENVIRONMENT
$ echo ${ENVIRONMENT}
$ echo "$ENVIRONMENT"
$ echo $AWS_ECR_REGISTRY
$ echo "$AWS_ECR_REGISTRY"
$ echo ${AWS_ECR_REGISTRY}
$ echo $CI_ENVIRONMENT_NAME
staging
$ echo ${CI_ENVIRONMENT_NAME}
staging
$ echo "$CI_ENVIRONMENT_NAME"
staging
So i don't understand how to access the environment variables in each case.