无法将修改后的Git仓库部署至Azure App Service的问题排查
问题排查与解决方案
一、前端修改未生效的核心排查点
1. 确认代码构建产物是否正确生成
- 查看GitHub Actions执行日志的构建阶段,检查
frontend-src-pages-layout-layout.tsx的修改是否被正确编译。如果原仓库Workflow缺少前端构建步骤,需补充:- name: 构建前端代码 working-directory: ./frontend run: | npm install npm run build
2. 确认部署产物是否正确上传到Web App
- 容器部署场景:检查自己的ACR镜像是否为最新构建版本,Web App的部署配置是否关联该新镜像。
- 代码部署场景:使用
azure/webapps-deploy@v2时,必须指定部署前端构建后的build目录,不能直接上传源码。在Workflow部署步骤中添加package: ./frontend/build。
3. 清除缓存并强制重启
- 登录Azure门户进入目标Web App,打开高级工具→Kudu,在控制台执行:
回到Web App页面执行重启操作,避免旧缓存覆盖新修改。rm -rf /home/site/wwwroot/*
二、Workflow执行与部署报错的解决
1. ACR_USERNAME缺失问题
- 进入GitHub仓库的Settings→Secrets and variables→Actions,添加
ACR_USERNAME和ACR_PASSWORD两个密钥,值对应Azure容器注册表访问密钥中的用户名和密码。
2. 使用azure/webapps-deploy@v2后的重启报错
- 需配置Azure服务主体:
- 在Azure CLI中执行命令(替换括号内的参数):
az ad sp create-for-rbac --name "webapp-deploy-sp" --role contributor --scopes /subscriptions/<你的订阅ID>/resourceGroups/<资源组名称>/providers/Microsoft.Web/sites/<Web App名称> --sdk-auth - 将生成的JSON内容复制到GitHub仓库的Actions密钥中,命名为
AZURE_CREDENTIALS。 - 修改Workflow部署步骤,改用服务主体认证:
- name: 部署到Azure Web App uses: azure/webapps-deploy@v2 with: app-name: '<你的Web App名称>' slot-name: 'production' package: ./frontend/build credentials: ${{ secrets.AZURE_CREDENTIALS }}
- 在Azure CLI中执行命令(替换括号内的参数):
三、仓库连接与Workflow配置的关键注意事项
- 重新连接仓库时,需开启GitHub Actions权限:在仓库Settings→Actions→General中,勾选允许Actions创建和批准PR,确保Workflow拥有读取仓库内容和部署到Azure的权限。
- 容器部署场景下,Web App的镜像源必须指向自己的ACR镜像,不能使用原仓库的公共镜像。
内容的提问来源于stack exchange,提问作者Manu Chadha
相关产品推荐
相关产品推荐

