vue項目測試和線上環境連接後端api接口地址不同,在構建時根據傳入不同參數來生成不同的環境的鏡像
Dockerfile:
ARG NODE_ENV
ENV NODE_ENV ${NODE_ENV}
...#其他省略
RUN npm run build:$NODE_ENV
.gitlab-ci.yml
before_script:
- if [ $CI_BUILD_REF_NAME == master ]; then NODE_ENV=prod; else NODE_ENV=sit; fi;
# build image
job_build:
stage: build
script:
#build鏡像
- docker build --build-arg NODE_ENV=$NODE_ENV -t registry-vpc.cn-beijing.aliyuncs.com/ysn/$APP_NAME:$CI_BUILD_REF_NAME .
only:
- test
- master
tags:
- shared_runner_shell
最後效果test分支執行npm run build:sit;master分支執行npm run build:prod;