Angular proxy.conf.js 从 CI/CD 传递环境变量
Angular proxy.conf.js pass environment variables from CI/CD
有没有办法使用 CI/CD 的环境变量来传递服务器 URL?
我正在尝试为我的项目进行测试 CI/CD。问题是对于 angular cypress 测试,我需要访问服务器。根据谁运行管道,他们可以访问不同的服务器,所以我希望他们能够使用 bitbucket 上的环境变量更改 proxy.conf.json。
我目前的 proxy.conf.json 是:
{
"/api": {
"target": "localhost:3000",
"secure": false,
"pathRewrite": {
"^/api": "/api"
},
"changeOrigin": true
}
}
我想达到:
{
"/api": {
"target": $MY_SERVER_ENV_VARIABLE,
"secure": false,
"pathRewrite": {
"^/api": "/api"
},
"changeOrigin": true
}
}
所以我想从 Bitbucket CI/CD 传递 $MY_SERVER_ENV_VARIABLE。 可能吗?
其中一个选项是制作 js
conf 文件而不是 json
文件。 Here 是文档。
现在你可以使用 NodeJS process
全局变量了。你可以通过它获取环境变量。
因此,proxy.conf.js
的代码将是:
const DEFAULT_TARGET = "localhost:3000";
const PROXY_CONFIG = {
"/api": {
"target": process.env.YOUR_ENV_VARIABLE || DEFAULT_TARGET,
"secure": false,
"pathRewrite": {
"^/api": "/api"
},
"changeOrigin": true
}
};
module.exports = PROXY_CONFIG;
不要忘记在 angular.json
文件中更改配置文件的路径。
有没有办法使用 CI/CD 的环境变量来传递服务器 URL?
我正在尝试为我的项目进行测试 CI/CD。问题是对于 angular cypress 测试,我需要访问服务器。根据谁运行管道,他们可以访问不同的服务器,所以我希望他们能够使用 bitbucket 上的环境变量更改 proxy.conf.json。
我目前的 proxy.conf.json 是:
{
"/api": {
"target": "localhost:3000",
"secure": false,
"pathRewrite": {
"^/api": "/api"
},
"changeOrigin": true
}
}
我想达到:
{
"/api": {
"target": $MY_SERVER_ENV_VARIABLE,
"secure": false,
"pathRewrite": {
"^/api": "/api"
},
"changeOrigin": true
}
}
所以我想从 Bitbucket CI/CD 传递 $MY_SERVER_ENV_VARIABLE。 可能吗?
其中一个选项是制作 js
conf 文件而不是 json
文件。 Here 是文档。
现在你可以使用 NodeJS process
全局变量了。你可以通过它获取环境变量。
因此,proxy.conf.js
的代码将是:
const DEFAULT_TARGET = "localhost:3000";
const PROXY_CONFIG = {
"/api": {
"target": process.env.YOUR_ENV_VARIABLE || DEFAULT_TARGET,
"secure": false,
"pathRewrite": {
"^/api": "/api"
},
"changeOrigin": true
}
};
module.exports = PROXY_CONFIG;
不要忘记在 angular.json
文件中更改配置文件的路径。