繁体   English   中英

无法使用 azure devops 将带有 angular 应用程序的 nodejs 部署到 azure web 应用程序中

[英]not able to deploy nodejs with angular app into azure web app using azure devops

我正在尝试在 azure DevOps 中为 MEAN 堆栈应用程序创建管道。 前端部分使用带有 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 文件的屏幕截图: https : //i.stack.imgur.com/OuYfQ.png

您是第一次转载以上场景。 但是当我添加启动命令 `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 门户上的应用服务添加启动命令。 然后单击保存-->刷新 您的应用程序应该能够显示。

在此处输入图片说明

@Levi,感谢上述建议。 我使用您在“npx serve -s”上方给出的命令作为发布管道中的启动命令,它帮助我通过互联网部署和访问我的应用程序。 如果我不使用任何命令,它将路由到默认节点页面。

在 Linux 机器或 App 服务上使用以下命令作为启动

pm2 服务 /home/site/wwwroot --no-daemon --spa

wwwroot 应该有使用 ng build --prod 命令生成的所有文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM