Node.js 如何将NodeJS项目部署到Azure网站?
我们有一个与TeamCity一起构建的NodeJs项目,然后使用FTP将构建的文件上传到我们的Azure web应用程序(.azurewebsites)。该项目包含数千个文件,因此FTP上载时间非常慢(需要很长时间)。我们更愿意将构建打包为ZIP文件,然后使用FTP上传ZIP(更快)。但是,我们如何使用脚本在Azure上解压缩ZIP文件 还是有更好的方法将我们的构建部署到Azure web应用程序 注释:Node.js 如何将NodeJS项目部署到Azure网站?,node.js,azure,deployment,Node.js,Azure,Deployment,我们有一个与TeamCity一起构建的NodeJs项目,然后使用FTP将构建的文件上传到我们的Azure web应用程序(.azurewebsites)。该项目包含数千个文件,因此FTP上载时间非常慢(需要很长时间)。我们更愿意将构建打包为ZIP文件,然后使用FTP上传ZIP(更快)。但是,我们如何使用脚本在Azure上解压缩ZIP文件 还是有更好的方法将我们的构建部署到Azure web应用程序 注释: 这是一个Azure web应用程序服务,不存在于VM上 我们的流程需要通过脚本实现自动化
- 这是一个Azure web应用程序服务,不存在于VM上
- 我们的流程需要通过脚本实现自动化,以支持CI/CD
- 使用Git和其他回购协议部署是不可行的
您还可以使用Azure PowerShell管理cmdlet实现相同的功能。但是,目前仅在Windows上支持此功能。您可以使用Kudu API或MsBuild将应用程序(web应用程序或函数)部署到Azure应用程序服务。部署通常分为两个部分:
您还可以使用Azure PowerShell管理cmdlet实现相同的功能。不过,目前仅在Windows上支持此功能谢谢Chris。我在PowerShell中尝试了Kudu REST API,它有点正常,但出现了一个错误:
Invoke RestMethod:操作已超时
。从Azure site cmd控制台,我可以看到Zip中的内容,因此这里一定有一些东西起了作用,但不确定整个过程是否因为超时错误而完成。顺便说一句:我还查看了一些Azure PowerShell cmdlet,其中一个看起来特别有潜力:发布AzureWebsiteProject
。但是,此cmdlet需要Select-AzureSubscription
cmdlet,该cmdlet不显示我的Azure订阅。但是,Select-AzureRmSubscription
确实显示我的订阅,但此cmdlet不适用于Publish-AzureWebsiteProject
。有什么想法吗?AzureRm是否有发布cmdlet?对于Kudu REST API Invoke RestMethod,我添加了以下内容以帮助解决超时错误:-TimeoutSec 240
。这似乎有效,所以我现在就和库杜一起去。再次感谢@keith Kudu进程超时的原因是它试图通过npm restore
还原所有包。您可以使用webpack解决此问题,但它仍处于beta/preview状态,不确定在这种情况下是否有效。谢谢Chris。我在PowerShell中尝试了Kudu REST API,它有点正常,但出现了一个错误:Invoke RestMethod:操作已超时
。从Azure site cmd控制台,我可以看到Zip中的内容,因此这里一定有一些东西起了作用,但不确定整个过程是否因为超时错误而完成。顺便说一句:我还查看了一些Azure PowerShell cmdlet,其中一个看起来特别有潜力:发布AzureWebsiteProject
。但是,此cmdlet需要Select-AzureSubscription
cmdlet,该cmdlet不显示我的Azure订阅。但是,Select-AzureRmSubscription
确实显示我的订阅,但此cmdlet不适用于Publish-AzureWebsiteProject
。有什么想法吗?AzureRm是否有发布cmdlet?对于Kudu REST API Invoke RestMethod,我添加了以下内容以帮助解决超时错误:-TimeoutSec 240
。这似乎有效,所以我现在就和库杜一起去。再次感谢@keith Kudu进程超时的原因是它试图通过npm restore
还原所有包。您可以使用webpack解决此问题,但它仍处于测试版/预览版,不确定在这种情况下是否能正常工作。