目标:由于后端的地址会变化,为了方便修改,需要通过修改gitlab上的ci的环境变量来动态修改axios的baseURL
注:前端的初始配置模版为vue-admin-template
首先是修改prod.env.js

let args = process.argv
let host=process.argv[args.length-1]
let result={
  NODE_ENV: "production",
  BASE_API: host
}
module.exports = JSON.stringify(result)

之后是gitlab-ci.yml

image: docker

stages:
  - build
  - deploy

build:
  stage: build
  image: node:9.4.0
  cache:
    paths:
      - node_modules/
  script:
    - npm set registry https://registry.npm.taobao.org
    - npm install
    - node build/build.js  ${API_SERVER}
  artifacts:
    paths:
      - dist

deploy:
  stage: deploy
  script:
    - docker info
    - DATE=`date +%Y%m%d`
    - TAG=$DATE-$CI_JOB_ID
    - docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} ${DOCKER_REGISTER}
    - docker build -t ${DOCKER_REGISTER}/${PROJECT_NAME}:$TAG .
    - docker push ${DOCKER_REGISTER}/${PROJECT_NAME}:$TAG
    - docker tag ${DOCKER_REGISTER}/${PROJECT_NAME}:$TAG ${DOCKER_REGISTER}/${PROJECT_NAME}:latest
    - docker push ${DOCKER_REGISTER}/${PROJECT_NAME}:latest

这样只需在gitlab上增加API_SERVER的变量属性,就可以实现动态修改了

Logo

前往低代码交流专区

更多推荐