Azure管道:在自托管虚拟机上运行“ npm start”

时间:2020-06-03 17:57:51

标签: node.js azure azure-pipelines-release-pipeline npm-start

我想在Azure上运行CI / CD管道,以在自托管计算机上构建和发布Node.js Web应用程序。我已经成功建立了一个管道来检出代码,构建它并发布工件。现在,我想拥有一个发布管道,该管道可以下载在构建管道中创建的工件,将其部署到部署组,并使用from django.db.models import Exists, OuterRef user_wishlist = Wishlist.objects.filter(item_id=OuterRef('id'), user=user) items = TradeItem.objects.annotate(in_wishlist=Exists(user_wishlist)) 启动应用程序。

我可以管理除最后一个步骤以外的所有步骤。我尝试将自定义“ npm start” 任务添加到Deployment组作业中。 Azure管道执行到该步骤,然后挂起。我猜它只是在等待命令完成,这不会发生,因为这正在启动服务器。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

npm start等效于运行在scripts(package.json文件的start属性)中指定的任何值。因此,您首先需要检查package.json文件。

case中有一个类似问题的推测:

npm start必须保持运行,以便可以在所有 时间。因此,命令永远不会完成。解决方法是使用cmd 任务以启动另一个cmd任务,并在new中运行npm start命令 cmd。

答案 1 :(得分:0)

我最终得出了我认为是更好的解决方案:我将pm2与--watch一起使用。 Azure DevOps只是将文件复制到pm2正在监视的文件夹中。