Node.js 无法使用azure devops将带有angular app的NodeJ部署到azure web app
我正在尝试为azure DevOps中的MEAN stack应用程序创建一个管道。前端部分使用带有angular的nodejs构建,后端部分使用带有express的nodejs构建 1) 在使用azure DevOps将前端nodejs项目部署到基于nodejs堆栈构建的azure Linux web应用程序中后,在尝试通过URL访问应用程序时,我被重定向到默认节点页面,而不是我的应用程序。但是,当我在asp.net上构建的windows web应用程序上使用相同的管道部署相同的应用程序时,我可以使用URL访问该应用程序。日志还显示“部署成功并准备就绪”,是否应该对访问Linux web app中部署的应用程序进行任何更改 2) 如果我在不同的web应用程序中部署前端和后端,那么代码中的相关URL修改是否足够,或者我是否需要设置任何连接字符串来建立前端到后端的连接 链接到下面提供的构建管道yaml文件的屏幕截图:Node.js 无法使用azure devops将带有angular app的NodeJ部署到azure web app,node.js,angular,azure-devops,mean-stack,Node.js,Angular,Azure Devops,Mean Stack,我正在尝试为azure DevOps中的MEAN stack应用程序创建一个管道。前端部分使用带有angular的nodejs构建,后端部分使用带有express的nodejs构建 1) 在使用azure DevOps将前端nodejs项目部署到基于nodejs堆栈构建的azure Linux web应用程序中后,在尝试通过URL访问应用程序时,我被重定向到默认节点页面,而不是我的应用程序。但是,当我在asp.net上构建的windows web应用程序上使用相同的管道部署相同的应用程序时,我可
您第一次复制了上述场景。但是,当我添加一个startupcommand`npx-serve-s时,我的angular应用程序成功地显示出来。请参考以下示例:
- task: AzureRmWebAppDeployment@4
displayName: deploy
inputs:
azureSubscription: 'mysubscription'
appType: webAppLinux
webappName: 'angularlevi'
deployToSlotOrASE: true
ResourceGroupName: mygroup
packageForLinux: dist/angularapp
StartupCommand: 'npx serve -s'
或者,您可以从azure门户上的应用程序服务添加startupcommand。然后单击保存-->刷新。你的应用程序应该能够显示
@Levi,谢谢你的建议。我使用您在上面给出的命令“npxserve-s”作为发布管道中的启动命令,它对我在internet上部署和访问我的应用程序非常有用。如果我不使用任何命令,它将路由到默认节点页。在Linux机器或应用程序服务上使用以下命令作为启动 pm2 serve/home/site/wwwroot——无守护进程——spa
wwwroot应该拥有使用ng build--prod命令生成的所有文件您可以共享您的构建管道吗?您可以访问“https://{srcWebApp.Name}.scm.azurewebsites.net以检查应用程序文件是否部署到服务器上的正确位置。我已附上问题中管道的屏幕截图。我还可以在“/home/site/wwwroot”中查看部署的文件“小径。请检查并提出建议。嗨@Aravinda,你在下面的答案中签出了吗?这是通过指定下面的startupcommand实现的吗?嗨@Levi,谢谢你的回复。它起作用了,我能够使用url访问前端部分。但当我尝试在443端口上托管此应用程序时,它不起作用。由于azure web app只有80个和443个端口公开给公众,我需要在443端口上托管此前端部件,以便它可以通过80个端口与后端连接。我从microsoft azure tech获得的解决方案是“我们需要一个动态条目文件,因为azure linux web app不托管静态网站”。