【发布时间】:2020-05-19 22:36:12
【问题描述】:
我有一个简单的 .gitlab-ci.yml 文件来构建我的 Vue 应用程序。我构建一次,然后将dist 文件夹部署到我的各种环境中:
stages:
- build
- deploy_dev
- deploy_stg
- deploy_prd
build:
image: node:latest # Pull Node image
stage: build
script:
- npm install -g @vue/cli@latest
- npm install
- npm run build
artifacts:
expire_in: 2 weeks
paths:
- dist/
deploy_to_dev:
image: python:latest
stage: deploy_dev
dependencies:
- build
only:
- master # Only deply master branch automatically to Dev
script:
- export AWS_ACCESS_KEY_ID=$DEV_AWS_ACCESS_ID
- export AWS_SECRET_ACCESS_KEY=$DEV_AWS_ACCESS_KEY
- pip install awscli # Install AWS CLI
- aws s3 sync ./dist s3://$DEV_BUCKET
这一切都很好,但是,我现在已经介绍了一些配置,并在每个环境中以不同的方式构建我的应用程序 - 对于 3 个环境,我有 3 个不同的构建命令。例如,我有一个.env.production,所以对于生产版本,我的命令变为:
npm run build -- --mode production
有什么方法可以解决每个环境的不同构建问题,但仍然使用基于 GitLab 变量的 .env 文件?
【问题讨论】:
-
你有没有设法解决这个问题?我遇到了同样的问题,但我不知道如何使用 Gitlab CI 构建/部署到不同的环境。
标签: vue.js webpack gitlab environment-variables gitlab-ci