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

Azure App Service部署成功后API更新延迟7-9小时问题咨询

问题根因

7-9小时的延迟刚好匹配Azure App Service容器实例的默认固定标签镜像轮询周期:如果你给App Service配置的镜像地址用的是latest这类固定标签,App Service不会在收到部署请求时立刻拉取新镜像,只会按默认8小时左右的固定周期检查镜像仓库对应标签是否有更新,确认有更新才会拉取重启。这就是为什么GitHub Actions显示执行成功,站点却要等半天才更新。
你当前的配置有两个点直接导致这个问题:

  • 构建推送镜像时一直复用v1、latest两个固定标签,没有给每次构建生成唯一可识别的标签
  • 部署步骤传给Azure的镜像地址没有任何版本标识,和App Service上已经配置的镜像地址完全一致,部署动作不会触发强制拉取和容器重启
    另外你贴的工作流文件存在YAML缩进错误,pull_request触发规则、job和step层级都有缩进丢失问题,容易导致PR提交时意外触发生产部署,需要一并修正。
修复步骤

1. 给每次构建的镜像打唯一标签

把当前提交的Git SHA作为镜像的唯一标签,和固定标签一起推送到Docker Hub,让每次构建的镜像都有唯一可识别的标识:

- name: Docker build and push
  uses: mr-smithers-excellent/docker-build-push@v5
  with:
    image: donephit/city-discover-tourist-server
    tags: v1, latest, ${{ github.sha }}
    registry: docker.io
    username: ${{ secrets.DOCKER_USERNAME }}
    password: ${{ secrets.DOCKER_PASSWORD }}

2. 部署时明确指定带唯一标签的镜像地址

修改部署步骤的镜像参数,明确传入本次构建对应的带Git SHA标签的镜像地址,强制App Service识别到镜像变更,立刻触发拉取和重启:

- name: Deploy to Azure Web App
  id: deploy-to-webapp
  uses: azure/webapps-deploy@v2
  with:
    app-name: 'CityTourist'
    slot-name: 'production'
    publish-profile: ${{ secrets.AzureAppService_PublishProfile_b411f9150dc04ec7a5df33a041e87f5f }}
    images: donephit/city-discover-tourist-server:${{ github.sha }}

3. 修正工作流YAML缩进问题

把触发配置、job和step的缩进调整为标准YAML格式,避免意外触发:

on:
  push:
    branches:
      - main
  pull_request:
    branches: [main]
  workflow_dispatch:

jobs:
  build:
    runs-on: 'ubuntu-latest'
    steps:
      - uses: actions/checkout@v2
      # 后续构建步骤保持2个空格的缩进层级
  deploy:
    runs-on: ubuntu-latest
    needs: build
    environment:
      name: 'production'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
    steps:
      # 部署步骤保持正确缩进

4. (可选优化)开启Azure端持续部署

到Azure Portal对应App Service的「配置」-「容器设置」页,打开「持续部署」开关,后续Docker Hub上的镜像更新会主动触发App Service拉取,进一步降低部署延迟。也可以添加应用设置DOCKER_ENABLE_CI = true强化CI触发逻辑。

验证方式

修改完配置提交代码到main分支,等GitHub Actions执行完成后,到App Service的「部署中心」-「部署日志」里可以看到即时触发的镜像拉取、容器重启记录,一般1-5分钟内新版本就会生效,不会再出现数小时的延迟。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 03:39:43