Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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
Node.js 无法使用azure devops将带有angular app的NodeJ部署到azure web app_Node.js_Angular_Azure Devops_Mean Stack - Fatal编程技术网

Node.js 无法使用azure devops将带有angular app的NodeJ部署到azure web app

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应用程序上使用相同的管道部署相同的应用程序时,我可

我正在尝试为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文件的屏幕截图:

您第一次复制了上述场景。但是,当我添加一个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不托管静态网站”。