You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure静态Web应用发布任务中添加环境变量?

Azure Static Web App 发布环节传递React环境变量解决方案

问题1:是否无法实现该操作?是否因该部署任务仍处于预览阶段?

完全可以实现,和任务是否处于预览阶段无关。在Release环节的Static Web App Deploy任务配置界面中,找到「应用设置(Application Settings)」区域,以键值对的形式添加环境变量即可(比如键填REACT_APP_API_URL,值填入对应环境的API地址)。这些设置会被自动注入到Static Web App的运行环境中,React项目可以通过process.env.REACT_APP_XXX直接读取。

问题2:是否可编写自定义任务/YAML代码在发布阶段运行?我希望保留Releases中的审批/回滚功能,而非改用多阶段Pipeline。

可以,且完全能保留Release的审批、回滚功能,推荐两种实现方式:

  • 自定义脚本任务修改.env文件:在Static Web App Deploy任务之前添加PowerShell或Bash任务,直接修改React项目的环境配置文件(比如.env.production)。示例PowerShell脚本:
(Get-Content .env.production) -replace 'REACT_APP_API_URL=.*', "REACT_APP_API_URL=$(Release.EnvironmentVariables.API_URL)" | Set-Content .env.production
  • Azure CLI任务设置应用配置:添加Azure CLI任务,调用官方命令直接设置Static Web App的应用配置,可在部署前或部署后执行:
az staticwebapp appsettings set --name <你的SWA实例名称> --resource-group <对应资源组名称> --setting-names REACT_APP_API_URL=$(API_URL)

问题3:是否有更合适的环境变量传递方式?这些变量并非机密信息,例如API URL,需要为开发/生产环境传递不同的值。

针对非机密变量,推荐两种更高效的方式:

  • 任务内置应用设置:就是问题1中提到的任务配置页的「应用设置」,无需额外脚本,配置简单直接,Azure会自动完成变量注入。
  • Azure ADO变量组:为开发、生产等不同环境分别创建变量组,将对应环境的API URL等变量存入组中;在Release的各个环境里关联对应的变量组,之后在Static Web App Deploy任务的应用设置中直接引用变量组里的值。这种方式可以集中管理多环境变量,切换环境时无需逐个修改配置。

内容的提问来源于stack exchange,提问作者klettg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:31:24