目标:由于后端的地址会变化,为了方便修改,需要通过修改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的变量属性,就可以实现动态修改了