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

无Web框架Python定时任务应用部署Azure App Service Linux遇障求助

问题排查与解决方案

核心问题分析

错误日志显示应用找不到/tmp/8dbe2c7322f355e/config/config.json,本质是配置文件未被正确部署到Azure App Service的应用目录,或应用执行时的工作目录与预期不符。

具体解决步骤

1. 确认部署包包含config目录

检查GitHub Action中${{ vars.DEPLOY_PATH }}指向的部署源(文件或目录)是否包含完整的config目录及其中的config.json:

  • 如果是打包为output.tar.gz,确保打包命令包含所有必要文件,例如:
    tar -czf output.tar.gz .  # 打包当前目录下所有文件,包括config
    
  • 若直接部署项目根目录,将package值设为.(前提是Action在项目根目录执行),避免遗漏文件。

2. 修正启动命令的工作目录

Azure App Service的Oryx工具会将部署包解压到临时目录,但启动命令默认可能未切换到正确的应用根目录。修改启动命令为:

cd /home/site/wwwroot && python main.py dev s

3. 修复代码中的路径引用

确保代码中读取配置文件使用相对路径而非硬编码绝对路径,例如:

import os
config_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "config", "config.json")

这样无论应用部署在哪个目录,都能正确找到配置文件。

4. 调整GitHub Action部署配置

更新Azure WebApp Deploy步骤,确保所有文件被完整上传:

- name: azure webapp deploy
  uses: azure/webapps-deploy@v2
  with:
    app-name: ${{ vars.APP_NAME }}
    package: .  # 直接部署项目根目录,包含所有文件
    startup-command: 'cd /home/site/wwwroot && python main.py dev s'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 21:09:53