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

GitHub推送新提交后Azure WebApp未更新的解决求助

解决Azure Web App通过GitHub CI/CD部署后未同步更新的问题

1. 验证CI/CD构建产物的正确性

  • 检查GitHub Actions构建步骤日志,确认拉取的是最新提交的代码(核对日志中的commit哈希值与本地推送的一致)。
  • 在构建步骤后添加文件验证命令,比如Maven项目执行ls -l target/,Gradle项目执行ls -l build/libs/,确认生成的jar/war包时间戳、大小符合预期,确保是新代码编译的产物。

2. 确认部署步骤的artifact上传准确性

  • 如果使用Azure官方azure/webapps-deploy Action,检查日志中Uploading package环节的文件路径是否正确,避免误传旧版本或非可执行包(如sources jar)。
  • 配置Action时明确指定artifact路径,比如Maven项目设置package: 'target/myapp-*.jar',确保只上传最新的可执行jar包。

3. 检查部署槽的激活状态

  • 若使用部署槽功能,确认CI/CD工作流是否将部署后的staging槽与production槽完成交换。如果没有自动交换,需手动在Azure Portal「部署槽」页面执行槽交换操作,或在工作流中添加槽交换步骤。

4. 清理Azure Web App的旧文件与缓存

  • 在GitHub Actions的部署步骤中添加clean: true参数(针对azure/webapps-deploy Action),强制清理Web App上的旧部署文件。
  • 或通过Azure CLI执行命令:az webapp deploy --name <你的应用名> --resource-group <资源组名> --clean true,彻底清理旧文件后重新部署。
  • 也可通过Kudu调试控制台(Azure Portal -> Web App -> 高级工具 -> Kudu),手动删除site/wwwroot目录下所有旧文件,再触发一次部署。

5. 核对Java启动命令配置

  • 进入Azure Portal的Web App -> 配置 -> 常规设置,检查「启动命令」是否指向最新的jar/war包。避免使用固定版本号的文件名(如myapp-1.0.jar),改用通配符(如java -jar myapp-*.jar)或相对路径指向最新产物。

6. 确认CI/CD触发条件配置

  • 查看.github/workflows下的工作流文件,确认on字段包含你推送代码的分支,例如:
    on:
      push:
        branches: [ "main" ]
    
    确保推送分支与配置的触发分支一致,避免因分支不匹配导致工作流未触发最新构建。

7. 重启Web App并检查日志

  • 执行Azure CLI命令手动重启应用:az webapp restart --name <你的应用名> --resource-group <资源组名>,强制加载新的部署文件。
  • 在Azure Portal「日志流」中查看启动日志,确认是否成功加载新的jar包,排查是否存在文件找不到、依赖缺失等启动报错。

内容的提问来源于stack exchange,提问作者Nghĩa Đỗ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 21:00:13