How to set node ENV
Hi bro,
I using nodejs app. When deploy to k8s it have node ENV. I need change it for app mode: prod, dev, test... How to set it? I using custom .gitlab-ci.yaml
I want change it
ENV NODE_ENV production
ENV APP_MODE test
ENV SERVER_HOST 0.0.0.0
ENV SERVER_PORT 8001
thank you.
image: alpine:latest
####### Global var
variables:
NODE_VERSION: 10.16.3
AUTO_DEVOPS_BUILD_IMAGE_EXTRA_ARGS: --build-arg=NODE_VERSION=10.16.3
# AUTO_DEVOPS_BUILD_IMAGE_FORWARDED_CI_VARIABLES: latest
DIST_DIR: dist/
POSTGRES_ENABLED: "false"
DOCKER_DRIVER: overlay2
ROLLOUT_RESOURCE_TYPE: deployment
DOCKER_TLS_CERTDIR: "" # https://gitlab.com/gitlab-org/gitlab-runner/issues/4501
####### Save node module to cache
cache:
key: $CI_COMMIT_REF_NAME
paths:
- node_modules/
stages:
- compile
- build
- docker
- deploy
- review
- staging
- canary
- production
- incremental rollout 10%
- incremental rollout 25%
- incremental rollout 50%
- incremental rollout 100%
- cleanup # stop review
include:
- template: Jobs/Deploy.gitlab-ci.yml
####### Build source code to ./public folder
app-source:
stage: compile
image: node:$NODE_VERSION
only:
- master
script:
- npm i
- npm run build
artifacts:
paths:
- $DIST_DIR
docker-image:
stage: build
image: "registry.gitlab.com/gitlab-org/cluster-integration/auto-build-image/master:stable"
variables:
DOCKER_TLS_CERTDIR: ""
services:
- docker:stable-dind
script:
- cd $DIST_DIR
- docker info
- |
if [[ -z "$CI_COMMIT_TAG" ]]; then
export CI_APPLICATION_REPOSITORY=${CI_APPLICATION_REPOSITORY:-$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG}
export CI_APPLICATION_TAG=${CI_APPLICATION_TAG:-$CI_COMMIT_SHA}
else
export CI_APPLICATION_REPOSITORY=${CI_APPLICATION_REPOSITORY:-$CI_REGISTRY_IMAGE}
export CI_APPLICATION_TAG=${CI_APPLICATION_TAG:-$CI_COMMIT_TAG}
fi
- /build/build.sh
only:
- branches
- tags
Edited by Trần Ngọc Anh