这个问题是如此简单,以至于我很困惑为什么找不到答案!
我们有一个Azure Web应用程序,通常在2至5个实例上运行。
目前,我们每天在本地计算机上几次手动运行非常密集的PHP脚本,以生成文件文件夹。 (生成的文件夹不是很大-通常大约10MB,总共有数百个文件。)然后,我们通过Github同步它们,并将它们部署到网站上。容易。
该过程很好,但是我们希望将PHP脚本移至Azure,这样我们就可以消除对在本地运行它的依赖,而可以将其作为同步作业运行。
我们如何可靠地将脚本中输出的文件夹同步到Web应用程序中?
答案 0 :(得分:1)
一种选择是将触发的WebJob与cron计划一起使用。您的WebJob只能包含您的PHP脚本。或者,如果需要运行特殊的命令行,请在完整的PHP命令行中包含一个run.cmd
批处理文件。
在您的PHP脚本中,执行收集正确文件集所需的所有操作,然后将它们复制到%home%\site\wwwroot\json-data
。
要使其正常工作,您需要在PHP脚本中执行的所有操作都必须在App Service沙箱中可运行。在将其移至WebJob之前,您应该首先直接从Kudu Console尝试此操作,以确保一切都可以运行。
答案 1 :(得分:0)
将您的Web应用程序部署源设置为Local Git。之后,通过Git Push将代码推送到WebApp。我不确定PHP的构建过程,但是当您通过LocalGit方法将代码推送到AzureWeb应用程序时,它将构建并还原所有依赖项并进行部署。对于自定义构建脚本,您可以参考here。 https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script