是否有任何指南可以在Linux上的Azure Web App中为nodejs app管理deploy.sh脚本?在持续部署上运行命令时,我一直遇到部署错误。首次设置连续部署时,错误从第一个部署脚本开始。该错误主要发生在“bower install”命令中,其中bash命令行找不到bower命令。
为了解决这个问题,我执行了以下操作:
但是,部署状态仍将保持失败,并且后续部署似乎根本没有得到改进,因为它在部署脚本中失败了。
以下是子序列部署产生的错误:
命令:“/ home / site / deploy / tools / deploy.sh” /opt/Kudu/bin/Scripts/starter.sh:/home/site/deployments/tools/deploy.sh:/ bin / bash ^ M:错误的解释器:没有这样的文件或目录 /opt/Kudu/bin/Scripts/starter.sh:line 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:line 2:/home/site/deployments/tools/deploy.sh:Eccess \ n / opt / Kudu / bin / Scripts / starter.sh“/home/site/deployments/tools/deploy.sh “
来自MS的希望专家可以帮助我解决这个问题。谢谢。
祝你好运, Szelee
答案 0 :(得分:0)
在Linux上,任何运行的bash部署脚本都必须具有Unix行结尾(LF)而不是Windows行结尾(CRLF)。 Kuduscript将生成具有平台适当行结尾的脚本,但如果修改了这些脚本,或者如果您提供自己的custom deployment scripts,则确保编辑器不更改行结尾非常重要。
如果您的部署脚本出现问题,您可以随时使用Kudu控制台删除/ home / site / deployments / tools的内容。这是Kudu缓存kuduscript生成的部署脚本的目录。在下一次部署时,将重新生成脚本。