Azure 应用服务部署错误:部署槽“未找到资源”,即使资源存在

问题描述 投票:0回答:1

我正在尝试使用 GitHub Actions 将 FastAPI 应用程序(作为 Web 应用程序)部署到 Azure 应用服务。部署似乎成功,但是当我尝试访问该应用程序时,我收到消息:

Status Code: 404
Status Message: The Resource 'Microsoft.Web/sites/my-fastapi-webapp/slots/e6dnb2bkfndyfpdx' under resource group 'my-fastapi-rg' was not found.

我没有使用任何插槽。

到目前为止我已采取的步骤:

  • 尝试重新部署:部署始终引用不存在的插槽。

  • GitHub Actions 工作流程:我使用以下配置部署到 Azure:

    - name: Deploy to Azure Web App
      uses: azure/webapps-deploy@v3
      with:
        app-name: 'my-fastapi-webapp'
        slot-name: 'Production'
    
  • 从工作流程中删除了插槽引用,但问题仍然存在。

我的问题:

  • 如何修复“找不到资源”错误?有没有办法确保部署针对生产槽或有效的部署槽?
  • 我是否需要从工作流程中删除槽名称引用,还是应该手动创建缺失的槽?
azure github github-actions fastapi
1个回答
0
投票

错误 - 容器 tdocs_0_40751cc1 未响应端口 8000 上的 HTTP ping,站点启动失败。查看容器日志进行调试。

您遇到的错误是由于启动命令不正确而发生的。

使用您提供的启动命令后,我遇到了同样的错误。

我将启动命令更改为以下命令,因为

  • apt-get update
    命令提供可用软件包的列表,
    apt-get install -y libmagic1
    安装
    libmagic1
    库,这是
    python-magic
    正常运行所必需的。

  • 导航到 Azure Web 应用程序的配置部分 - > 添加

    startup command
    并点击保存。

apt-get update && apt-get install -y libmagic1 && gunicorn --worker-class uvicorn.workers.UvicornWorker --timeout 600 --access-logfile '-' --error-logfile '-' main:app

enter image description here

这是我的工作流程文件:

name: Build and deploy Python app to Azure Web App - fastapitestsample18

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Set up Python version
        uses: actions/setup-python@v1
        with:
          python-version: '3.12'

      - name: Create and start virtual environment
        run: |
          python -m venv venv
          source venv/bin/activate

      - name: Install dependencies
        run: pip install -r requirements.txt
        
      - name: Zip artifact for deployment
        run: zip release.zip ./* -r

      - name: Upload artifact for deployment jobs
        uses: actions/upload-artifact@v3
        with:
          name: python-app
          path: |
            release.zip
            !venv/

  deploy:
    runs-on: ubuntu-latest
    needs: build
    environment:
      name: 'Production'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v3
        with:
          name: python-app

      - name: Unzip artifact for deployment
        run: unzip release.zip

      - name: 'Deploy to Azure Web App'
        uses: azure/webapps-deploy@v2
        id: deploy-to-webapp
        with:
          app-name: 'fastapitestsample18'
          slot-name: 'Production'
          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_6BE585852CEC4BCEB75B1EBBC05169D3 }}

通过 GitHub 操作成功部署应用程序。

enter image description here

部署后输出:

enter image description here

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.