vue項目測試和線上環境鏈接後端api接口地址不一樣,在構建時根據傳入不一樣參數來生成不一樣的環境的鏡像vue
Dockerfile:git
ARG NODE_ENV ENV NODE_ENV ${NODE_ENV} ...#其餘省略 RUN npm run build:$NODE_ENV
.gitlab-ci.ymldocker
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;shell