使用Azure Deploy App Service部署后如何保留Oryx临时文件夹?
解决方案
1. 保留Oryx临时文件的可行方案
方案一:禁用Oryx自动清理机制
在Azure App Service的配置 > 应用设置中添加以下键值对:
- 键:
ORYX_DISABLE_CLEANUP - 值:
true
添加后,Oryx构建完成后不会自动删除/tmp/zipdeploy/extracted、/tmp/8dd948228017944这类临时目录及构建日志文件。注意:长期开启会占用容器磁盘空间,问题排查完成后建议移除该设置。
方案二:部署后立即复制临时文件到持久化目录
如果不想全局禁用清理,可以在Azure DevOps流水线的AzureRmWebAppDeployment@4任务之后,添加一个Azure CLI任务,在Oryx自动清理前将临时文件复制到App Service的持久化目录(如/home/site/temp-build-files)。
示例任务配置(YAML格式):
- task: AzureCLI@2 displayName: 'Copy Oryx Temp Files to Persistent Location' inputs: azureSubscription: '<你的Azure订阅名称>' scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: | # 创建目标目录并复制所有相关临时文件 az webapp ssh --name <你的App Service名称> --resource-group <你的资源组名称> --command " mkdir -p /home/site/temp-build-files cp -r /tmp/zipdeploy/extracted /home/site/temp-build-files/ cp -r /tmp/8dd948228017944 /home/site/temp-build-files/ cp /tmp/build-debug.log /tmp/oryx-build.log /home/site/temp-build-files/ "
2. 验证文件是否成功保留
- 通过Azure门户进入App Service,在开发工具 > SSH中连接到容器,执行
ls /home/site/temp-build-files查看文件; - 或访问Kudu管理站点,在文件管理器中查看
/home/site/temp-build-files目录。
内容的提问来源于stack exchange,提问作者TechFanDan
相关产品推荐
相关产品推荐

