Azure 管道:自托管 VM 上的 运行 'npm start'

Azure pipelines: run 'npm start' on a self-hosted VM

我想 运行 Azure 上的 CI/CD 管道在自托管机器上构建和发布 nodejs webapp。我已经成功地设置了一个管道来检查代码、构建它并发布工件。现在我想要一个发布管道来下载在构建管道中创建的工件,将其部署到部署组并使用 npm start.

启动应用程序

除了最后一步,我可以完成所有步骤。我尝试将自定义 "npm start" 任务添加到部署组作业。 Azure 管道到达该步骤然后挂起。我想它只是在等待命令完成,这不会发生,因为这是在启动服务器。

知道怎么做吗?

npm start 相当于 运行 脚本中指定的任何值(package.json 文件的 start 属性)。所以你首先需要检查你的 package.json 文件。

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

the npm start must keeps running so that it can be used all the time. So the command is never finished. The workaround is using cmd task to start another cmd task and run the npm start command in new cmd.

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