Circleci environemnt variable feature.
Estimated reading time: 1 minuteenvironment variable
Most of all ci-cd platform has enviornment feature.Circleci also has robust environent variable.
Type of environment variable:
- root
job
block - individual
run
block - context (secret) - load from circleci server.
- project level env - load from circleci server
Access env variable
"${THE_ENV_VAR_NAME}"
, or$THE_ENV_VAR_NAME
env inside job
block
job:
build:
docker:
- image: cimg/base:2022.04-20.04
environment:
THE_ENV_VAR_NAME: "set environemnt inside job"
env inside run
block
- run:
name: Print env variable
environemnt:
THE_ENV_VAR_NAME: "set environemnt inside run"
command: |
echo "${THE_ENV_VAR_NAME}"
set env variable inside bash
echo 'export THE_NAME=value' >> $BASH_ENV
env from context
context is circleci group of environment. need to load context
- flow: dashboard -> organization settings -> contexts
load context inside config.yml
workflows:
version: 2
build_project:
jobs:
- build:
# context environment. load from circleci server
context: your_context_name
jobs:
build:
.....
steps:
- run:
name: access context variable
command: |
echo $YOUR_CONTEXT_VARIABLE_NAME
default variables
- BASH_ENV
- CI
- CIRCLECI
- CIRCLE_BRANCH
- CIRCLE_BUILD_NUM
- CIRCLE_BUILD_URL
- CIRCLE_COMPARE_URL
- CIRCLE_JOB
- CIRCLE_NODE_INDEX
- CIRCLE_NODE_TOTAL
- CIRCLE_PREVIOUS_BUILD_NUM
- CIRCLE_PROJECT_REPONAME
- CIRCLE_PROJECT_USERNAME
- CIRCLE_REPOSITORY_URL
- CIRCLE_SHA1
- CIRCLE_SHELL_ENV
- CIRCLE_STAGE
- CIRCLE_USERNAME
- CIRCLE_WORKFLOW_ID
- CIRCLE_WORKFLOW_JOB_ID
- CIRCLE_WORKFLOW_UPSTREAM_JOB_IDS
- CIRCLE_WORKFLOW_WORKSPACE_ID
- CIRCLE_WORKING_DIRECTORY