0

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.

2
  • Does this post help? stackoverflow.com/questions/70067929/… Commented Feb 2, 2024 at 13:30
  • Your runner probably isn't running bash. If it's a Windows runner, you need to use the cmd or powershell syntax. Commented Feb 7, 2024 at 20:31

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.