首页 > 解决方案 > 使用 deploy.cmd [Windows 机器] 在 azure app 服务上部署 laravel

问题描述

我正在使用 Kudu 在 azure app 服务中部署我的应用程序。

默认情况下,kudu 只在我的 laravel 应用程序中运行 composer install,但我还需要运行一些额外的 npm 脚本才能使我的网站正常工作。

如本文档中所述,我尝试使用此 url 格式下载默认 deploy.cmd 脚本:https://{sitename}.scm.azurewebsites.net/api/deploymentscript 但我收到一条错误消息:{"Message":"Operation only supported if not using a custom deployment script"}

对于我的下一个解决方案,我在本地 Windows 机器中全局下载了 kuduscript cli,以在项目的根目录中生成默认 deploy.cmd,但我也收到一条错误消息: error: ENOENT: no such file or directory, open 'C:\Users\USER\AppData\Roaming\npm\node_modules\kuduscript\lib\templates\deploy.batch.php.template'

然后我在以下位置找到了这个用于 php 应用程序的 deploy.cmd 模板: kudu 存储库

在我的部署中对其进行测试后,它导致了以下错误:

Command: bash deploy.cmd
deploy.cmd: line 1: @if: command not found
deploy.cmd: line 3: ::: command not found
deploy.cmd: line 4: ::: command not found
deploy.cmd: line 5: ::: command not found
deploy.cmd: line 6: ::: command not found
deploy.cmd: line 8: ::: command not found
deploy.cmd: line 9: ::: command not found
deploy.cmd: line 11: ::: command not found
deploy.cmd: line 12: nul: Permission denied
deploy.cmd: line 13: syntax error near unexpected token `('
deploy.cmd: line 13: `IF %ERRORLEVEL% NEQ 0 ('
deploy.cmd: line 1: @if: command not found\r\ndeploy.cmd: line 3: ::: command not found\r\ndeploy.cmd: line 4: ::: command not found\r\ndeploy.cmd: line 5: ::: command not found\r\ndeploy.cmd: line 6: ::: command not found\r\ndeploy.cmd: line 8: ::: command not found\r\ndeploy.cmd: line 9: ::: command not found\r\ndeploy.cmd: line 11: ::: command not found\r\ndeploy.cmd: line 12: nul: Permission denied\r\ndeploy.cmd: line 13: syntax error near unexpected token `('\r\ndeploy.cmd: line 13: `IF %ERRORLEVEL% NEQ 0 ('\r\nD:\Program Files (x86)\SiteExtensions\Kudu\85.11024.4154\bin\Scripts\starter.cmd bash deploy.cmd

我已经没有选择了。

Laravel 版本:5.8

运行时堆栈:Php 7.2

标签: azurebatch-fileazure-web-app-servicekudu

解决方案


推荐阅读