gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 05:51:46 25 4
gpt4 key购买 nike

当前项目结构:


-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

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

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

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” }),
...
],
});

包.json

  "scripts": {
"build:uat": "cross-env NODE_ENV=uat webpack --config ./webpack/webpack.uat.js",
"build": "webpack --config ./webpack/webpack.prod.js",
},

我打算使用 Gitlab CI 和 CI/CD,所以我在考虑如何处理 .env 变量。
我在 gitlab Settings > CI/CD > Variables 中添加了环境变量。
添加后,我不知道如何进行下一步。
另外,如何测试gitlab中是否设置了环境变量?

最佳答案

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

您可以通过多种不同的方式定义变量,例如通过项目的 Web 门户或在 .gitlab-ci.yml 文件中。无论您在哪里定义它们,访问 .gitlab-ci.yml 文件中的值都是相同的:

test_variable:
stage: test
script:
- echo "$MY_AWESOME_VAR"

$MY_AWESOME_VAR 是您创建的变量的名称,前面加上 $。

Gitlab 还创建了一系列与 CI/CD 流程相关的标准环境变量,您也可以将其绑定(bind)到其中。 https://docs.gitlab.com/ee/ci/variables/predefined_variables.html

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

的串联命名生成的工件

关于javascript - 如何在 Gitlab CI 中设置环境变量并使其在本地可测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70329620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com