首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Gitlab CI中设置环境变量并使其在本地可测试

如何在Gitlab CI中设置环境变量并使其在本地可测试
EN

Stack Overflow用户
提问于 2021-12-13 03:21:48
回答 1查看 2.7K关注 0票数 3

目前的项目结构:

代码语言:javascript
运行
复制
…
-src
-.env.development
-.env.uat
-.env.production
-webpack
    -webpack.base.js
    -webpack.dev.js
    -webpack.uat.js
    -webpack.prod.js

在webpack中,我为开发环境设置了new Dotenv({ path: "./.env.development" })等。

webpack.dev.js

代码语言:javascript
运行
复制
const { merge } = require("webpack-merge");

const base = require("./webpack.base");

const Dotenv = require("dotenv-webpack");

module.exports = merge(base, {
  mode: "development",
  output: {...},
  devServer: {...},
  plugins: [new Dotenv({ path: "./.env.development" })],
});

webpack.uat.js

代码语言:javascript
运行
复制
const { merge } = require("webpack-merge");
const base = require("./webpack.base");

const Dotenv = require("dotenv-webpack");

module.exports = merge(base, {
  mode: "production",
  output: {...},
  module: {...},
  plugins: [
    new Dotenv({ path: "./.env.uat" }),
    ...
  ],
});

webpack.prod.js

代码语言:javascript
运行
复制
const { merge } = require("webpack-merge");
const base = require("./webpack.base");

const Dotenv = require("dotenv-webpack");

module.exports = merge(base, {
  mode: "production",
  output: {...},
  module: {...},
  plugins: [
    new Dotenv({ path: "./.env.prod” }),
    ...
  ],
});

package.json

代码语言:javascript
运行
复制
  "scripts": {
    "build:uat": "cross-env NODE_ENV=uat webpack --config ./webpack/webpack.uat.js",
    "build": "webpack --config ./webpack/webpack.prod.js",
  },

我将使用Gitlab和CI/CD,因此我正在考虑如何处理.env变量。

我在gitlab Settings > CI/CD > Variables中添加了环境变量。

添加后,我不知道如何继续下一步。

另外,如何测试环境变量是否在gitlab中设置?

EN

回答 1

Stack Overflow用户

发布于 2021-12-13 15:20:56

看看Gitlab CI/CD文档。他们很棒:https://docs.gitlab.com/ee/ci/variables/

您可以通过许多不同的方式定义变量,比如通过项目的web门户,或者在..gitlab ci.yml文件中。无论您在何处定义它们,访问..gitlab ci.yml文件中的值都是相同的:

代码语言:javascript
运行
复制
test_variable:
  stage: test
  script:
    - echo "$MY_AWESOME_VAR"

$MY_AWESOME_VAR是您创建的变量的名称,并在其中加上$。

Gitlab还创建了一系列与CI/CD过程相关的标准环境变量,您也可以将这些变量绑定到其中。variables.html

对于很多不同的事情来说,这些都是很方便的。例如,在我正在处理的项目中,我保存构建工件并使用$CI_ENVIRONMENT_NAME-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA连接命名生成的工件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70329620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档