Angular proxy.conf.js 从 CI/CD 传递环境变量



有没有办法使用 CI/CD 的环境变量传递服务器 URL?

我正在尝试为我的项目制作测试 CI/CD。问题是对于角柏树测试,我需要访问服务器。根据运行管道的人,他们将可以访问不同的服务器,因此我希望他们能够使用 bitbucket 上的环境变量更改 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。可能吗?

选项之一是制作jsconf 文件而不是json文件。这是文档。

现在您可以使用 NodeJSprocess全局变量。你可以通过它获得 env 变量。

因此,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路径。

最新更新