我的任务是将 aspnet 核心 React 应用程序部署到 2 个不同的环境:开发环境和生产环境。每个环境都应单独配置。
我将 Azure DevOps 用于 CI/CD
AspNet 项目包含以下用于构建应用程序的命令
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build" />
Run Code Online (Sandbox Code Playgroud)
我使用 adal 进行授权,这就是为什么我必须传递一些对于 Dev 和 Prod 不同的秘密变量
const adalConfig = {
tenant: process.env.REACT_APP_TENANT,
clientId: process.env.REACT_APP_CLIENT_ID,
redirectUri: process.env.REACT_APP_REDIRECT_URI,
Run Code Online (Sandbox Code Playgroud)
在 Azure devops 中,我使用以下命令设置参数:
echo ##vso[task.setvariable variable=REACT_APP_TENANT;isOutput=true]c00000-00ce-000-0f00-0000000004000
Run Code Online (Sandbox Code Playgroud)
在 azure devops 中,我有下一个用于 aspnet 核心构建应用程序的标准命令
问题:
也许您已经有将核心反应应用程序部署到 2 个不同环境的任务?或者,如果我需要更改部署策略,请提供建议。
我发现的唯一解决方案是使用 .env 文件,但我必须将此文件提交给 git - 从 master 部署它。而且我仍然不知道如何为 dev 和 prod 使用不同的文件。