如何通过GitHub Actions修改Azure App Service部署路径及获取logs文件夹
获取Azure App Service中的logs文件夹及调整GitHub Actions部署路径方案
一、获取logs文件夹的几种方法
1. 通过Kudu控制台直接下载
- 登录Azure门户,找到目标App Service,左侧菜单选择高级工具(对应Kudu服务),点击「Go」进入Kudu界面。
- 在Kudu的文件管理器中,导航到
site/wwwroot/logs(Python代码中os.mkdir("logs")会在应用运行目录即wwwroot下创建文件夹)。 - 选中
logs文件夹,点击顶部的「Download」即可下载到本地。
2. 自动持久化日志到Azure存储账户
如果希望日志自动留存且无需手动下载,可配置App Service将应用日志同步到Blob存储:
- 进入App Service的日志设置页面:
- 开启「应用日志(Blob)」,选择已有的Azure存储账户和容器,设置日志保留天数。
- 若要让Python代码直接写入该存储,可修改代码中的日志路径为存储账户的挂载路径(需先在App Service中挂载存储账户),或使用Azure Blob Storage SDK直接写入日志文件。
3. 通过GitHub Actions拉取日志到GitHub
在GitHub Actions工作流中添加步骤,自动拉取App Service的logs文件夹并保存为工作流产物:
- name: 从Azure App Service下载日志 uses: azure/CLI@v1 with: inlineScript: | az webapp download --name <你的App名称> --resource-group <你的资源组名称> --output-path ./app-logs --path /site/wwwroot/logs - name: 上传日志为工作流产物 uses: actions/upload-artifact@v3 with: name: application-logs path: ./app-logs
触发工作流后,可在GitHub的Actions页面下载该产物。
二、修改GitHub Actions的Azure App Service部署路径
Azure App Service默认将代码部署到site/wwwroot,可通过以下两种方式调整部署路径:
1. 使用Azure Web Apps Deploy Action指定路径
若工作流使用azure/webapps-deploy@v2,可通过target-path参数指定自定义部署路径:
- name: 部署到Azure App Service uses: azure/webapps-deploy@v2 with: app-name: '<你的App名称>' publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} package: '.' target-path: '/site/wwwroot/custom-deploy-dir' # 自定义部署路径 app-settings: | WEBSITE_RUN_FROM_PACKAGE=0 # 关闭Run From Package模式,确保文件可写入
注意:修改路径后需确认应用启动配置(如Python入口文件路径)对应更新,避免应用无法启动。
2. 使用Azure CLI部署指定路径
若使用Azure CLI命令部署,可通过--path参数指定目标路径:
az webapp deployment source config-zip --resource-group <资源组名称> --name <App名称> --src ./your-app.zip --path /site/wwwroot/custom-path
内容的提问来源于stack exchange,提问作者Nandha
相关产品推荐
相关产品推荐

