docker构建传入不一样参数

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

相关文章
相关标签/搜索