如何通过GitHub Actions将Python脚本部署到Azure资源并运行及查看日志
问题解答
问题1:STARTUP_COMMAND的作用
- 该参数不是通过自动SSH登录执行的命令,是传给Azure App Service平台的原生配置项,属于官方部署流程的一部分,不需要手动操作SSH通道。
- 当Web App的实例启动时,平台会自动调用你配置的该命令作为应用的启动入口,作用等价于你手动登录后执行对应启动指令。
- 额外提醒:你当前配置的运行时是
PYTHON|3.9原生Python环境,该环境默认没有预装docker-compose,你填写的docker-compose up --build -d会执行失败。如果要使用docker-compose部署,需要将Web App运行时切换为自定义容器模式;如果用原生Python运行时,直接将启动命令改为python main.py(对应你实际的爬虫脚本入口)即可。
问题2:更便捷的日志查看方式
不需要每次SSH登录执行cat命令,可选择以下更高效的方案:
- Azure门户实时日志流:进入对应Web App资源页,在左侧菜单找到「监控 - 日志流」,打开后即可实时查看应用输出的stdout、stderr日志,你脚本写入的.log文件如果存放在
/home/LogFiles目录下也会被同步展示。 - Azure CLI拉取日志:本地安装Azure CLI并完成登录后,直接执行
az webapp log tail --name <你的WebApp名称> --resource-group <资源组名称>,就能在本地终端实时接收日志输出。 - Kudu控制台查看日志文件:在Web App资源页的「开发工具 - 高级工具」中点击「转到」进入Kudu面板,在Debug console菜单下可以直接浏览Web App的文件系统,找到你生成的.log文件可直接在线预览或下载,不需要走SSH。
- 日志持久化检索:可在Web App的「监控 - 诊断设置」里配置把日志投递到Log Analytics工作区或者Azure Blob存储,支持关键词检索、长期留存,适合长周期运行的爬虫日志排查。
额外注意事项
Azure Web App默认启用闲置回收机制,20分钟没有收到外部HTTP请求就会自动关停实例,你的爬虫需要长时间连续运行,需要到Web App的「配置 - 常规设置」里开启始终开启选项,避免运行中途被平台中断。
内容的提问来源于stack exchange,提问作者TheRandomDev
相关产品推荐
相关产品推荐

