首页 文章

在deploy.ssh上,Linux部署上的Azure Web应用程序失败

提问于
浏览
0

是否有任何指南可以在Linux上的Azure Web App中为nodejs app管理deploy.sh脚本?在持续部署上运行命令时,我一直遇到部署错误 . 首次设置连续部署时,错误从第一个部署脚本开始 . 该错误主要发生在“bower install”命令中,其中bash命令行找不到bower命令 .

为了解决这个问题,我执行了以下操作:

  • 登录Kudu工具,Bash(ssh第一次不工作)

  • 运行"npm install --production",但这不会完成安装

  • 运行"bower install",得到错误的凉亭没有安装 - 尝试使用npm install -g bower - 它仍然没有解决问题 .

  • 不知何故,我多次尝试打开/关闭Kudu工具,直到SSH开始加载(奇迹)

  • 使用SSH终端,我能够执行"npm install -g bower"和"bower install",结束安装,我可以加载我的网站

但是,部署状态仍将保持失败,并且后续部署似乎根本没有得到改进,因为它在部署脚本中失败了 .

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

命令:“/ 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:line 2:/home/site/deployments/tools/deploy.sh:Eccess/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:Success \ n / opt / Kudu / bin / Scripts / starter.sh“/home/site/deployments/tools/deploy.sh”

来自MS的希望专家可以帮助我解决这个问题 . 谢谢 .

最诚挚的问候,Szelee

1 回答

  • 0

    在Linux上,任何运行的bash部署脚本都必须具有Unix行结尾(LF)而不是Windows行结尾(CRLF) . Kuduscript将生成具有平台适当行结尾的脚本,但如果修改了这些脚本,或者如果您提供自己的custom deployment scripts,那么's important to make sure that your editor doesn't会更改行结尾 .

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

相关问题