Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux上的Azure web app在deploy.ssh上部署失败_Azure_Azure Web App Service - Fatal编程技术网

linux上的Azure web app在deploy.ssh上部署失败

linux上的Azure web app在deploy.ssh上部署失败,azure,azure-web-app-service,Azure,Azure Web App Service,在Linux for nodejs应用程序的Azure Web应用程序中,是否有管理部署.sh脚本的指南?在连续部署上运行命令时,我始终会遇到部署错误。当我第一次设置连续部署时,错误从第一个部署脚本开始。错误主要发生在“bower install”命令中,在bash命令行中找不到bower命令 为了克服这个问题,我执行了以下操作: 登录到Kudu工具Bash(ssh第一次不工作) 运行“npm安装--生产”,但这不会完成安装 运行“bower安装”,得到错误bower not install-尝

在Linux for nodejs应用程序的Azure Web应用程序中,是否有管理部署.sh脚本的指南?在连续部署上运行命令时,我始终会遇到部署错误。当我第一次设置连续部署时,错误从第一个部署脚本开始。错误主要发生在“bower install”命令中,在bash命令行中找不到bower命令

为了克服这个问题,我执行了以下操作:

  • 登录到Kudu工具Bash(ssh第一次不工作)
  • 运行“npm安装--生产”,但这不会完成安装
  • 运行“bower安装”,得到错误bower not install-尝试使用npm安装-g bower-它仍然不能解决问题
  • 不知何故,我尝试了几次打开/关闭Kudu工具,直到SSH开始加载(奇迹)
  • 使用SSH终端,我能够执行“npm安装-g bower”和“bower安装”,这就完成了安装,我能够加载我的网站
  • 但是,部署的状态仍将保持失败状态,并且子序列部署似乎没有得到任何改进,因为它在部署脚本中失败了

    以下是子序列部署生成的错误:

    命令:“/home/site/deployments/tools/deploy.sh” /opt/Kudu/bin/Scripts/starter.sh:/home/site/deployments/tools/deploy.sh:/bin/bash^M:错误的解释器:没有这样的文件或目录 /opt/Kudu/bin/Scripts/starter.sh:第2行:/home/site/deployments/tools/deploy.sh:成功 /opt/Kudu/bin/Scripts/starter.sh:/home/site/deployments/tools/deploy.sh:/bin/bash^M:解释器不好:没有这样的文件或目录\n/opt/Kudu/bin/Scripts/starter.sh:第2行:/home/site/deployments/tools/deploy.sh:Success\n/opt/Kudu/bin/Scripts/starter.sh”/home/site/deployments/tools/deployment.sh“

    希望微软的专家能在这件事上帮助我。多谢各位

    致以最良好的祝愿,
    Szele

    在Linux上,任何运行的bash部署脚本都必须具有Unix行结尾(LF),而不是Windows行结尾(CRLF)。Kuduscript将生成具有适合平台的行尾的脚本,但是如果修改了这些脚本,或者您提供了自己的脚本,那么确保编辑器不会更改行尾是很重要的


    如果部署脚本出现问题,您可以始终使用Kudu控制台删除/home/site/deployments/tools的内容。这是Kudu缓存kuduscript生成的部署脚本的目录。在下一次部署中,将重新生成脚本。

    这是自定义部署脚本吗?“/bin/bash^M:bad解释器”错误通常表示脚本文件具有Windows行结尾,bash将在该行结尾失败。如果你想分享你的应用程序名(如果你愿意,可以私下分享),我可以进一步调查。我正在使用服务器上的部署脚本。我也测试了新的服务器设置。您可以在vivamobile.azurewebsites.net上进行检查。在遇到此错误输出的站点上,部署脚本似乎是用更改了行结尾的内容编辑的。尝试使用Kudu控制台删除/home/site/deployments/tools的内容,然后再次尝试触发部署。这将清除缓存的部署脚本并使其重新生成。谢谢,生成了一个新脚本,但我收到了新的错误消息。这是导致故障的错误表的摘要。我正在通过在ssh上运行npm安装进行调查。如果您有兴趣查看完整错误/您当前看到的错误是运行node/npm进行部署时出现的Kudu问题,我将使用部署插槽vivamobile-1.azurewebsites.net进行测试。对于您当前看到的内容,最简单和最快的解决方案是在package.json中指定engines.node()。我们正在进行修复,这将有助于解决问题,但我们的建议是(很快会有文档记录)始终为您的项目指定engines.node。谢谢,我现在已经成功部署了。