如何在Azure Static Web App中实现类似部署槽的分支部署?
Azure Static Web Apps 多环境部署配置指南
1. 核心机制说明
Azure Static Web Apps 没有 Web Apps 那样独立的「部署槽」界面,而是通过分支关联独立环境实现预发布、生产的隔离:每个分支(如 staging)对应一个专属预发布环境,拥有独立URL,测试完成后可将预发布环境内容「提升」至生产环境。
2. 修复流水线触发问题
你复制的流水线未触发 staging 分支推送,是因为触发器配置未更新,需修改 pr 和 trigger 节点的分支规则:
pr: branches: include: - staging trigger: branches: include: - staging
3. 配置独立预发布环境
当前staging流水线仍部署到生产URL,原因是使用了生产环境的API令牌。需创建专属预发布环境并更新流水线配置:
- 登录Azure门户,进入你的Static Web Apps资源,打开环境页面
- 点击「创建」,选择关联
staging分支,系统会自动生成该环境的API令牌和专属测试URL - 在Azure DevOps中新建变量组(如
Azure-Static-Web-Apps-staging-variable-group),将新生成的API令牌存入(变量名示例:AZURE_STATIC_WEB_APPS_API_TOKEN_STAGING_XXXXXX) - 修改staging流水线的变量组和令牌引用:
variables: - group: Azure-Static-Web-Apps-staging-variable-group steps: - task: AzureStaticWebApp@0 inputs: azure_static_web_apps_api_token: $(AZURE_STATIC_WEB_APPS_API_TOKEN_STAGING_XXXXXX) app_location: "/" output_location: "dist/propworx-portal"
4. 预发布环境提升(替代槽交换)
当staging环境测试通过后,无需交换槽,直接在Static Web Apps的环境页面选中staging环境,点击「提升」,即可将预发布内容同步到生产环境,同时保留staging环境的内容供后续测试使用。
5. 验证流程
- 推送代码至
staging分支,确认流水线自动触发,部署完成后访问预发布URL验证功能 - 测试通过后执行「提升」操作,检查生产URL的内容是否更新
内容的提问来源于stack exchange,提问作者Fabricio Rodriguez
相关产品推荐
相关产品推荐

