我正在处理一些合作者之间的小项目,而我正准备建立一个持续的集成工作流程。我正在研究Bamboo或Jenkins,但就目前而言,由于我们还处于早期阶段且非常小,我自己在NodeJS中构建工作流程。
一个设计问题:我有一个不断运行的服务器,它可以监听我的存储库,并在发生更新时提取更新。然后,此服务器通过启动其节点应用程序脚本(当前在本地发生)来部署应用程序。
现在,我希望独立生成部署脚本的应用程序进程 。但我也想确保它继续运行。
我的问题是,行业的方式是什么?鉴于迄今为止项目规模非常小(= 2个合作者),建议什么?
我一直在想这可以通过以下方式实现:
但是,我不知道如何从监听脚本中释放应用程序,我认为应该这样做,因为如果监听脚本发生故障,我的应用程序会崩溃,这是不可取的。
提前致谢!
答案 0 :(得分:0)
我不确定如果没有它真正成为一个孩子,你就不会产生一个过程。但是,如果你使用detached
和正确的stdio设置,可能就像这个问题一样:How to detach a spawned child process in a Node.js script?
为了确保节点程序继续运行,人们使用PM2或主管之类的东西。我确信制作CI程序是一项有趣的练习,但就日常使用而言,我不会尝试自己创作。只需使用CircleCI,Strider或Travis。
Bamboo和Jenkins已经很成熟,但在Node人群中并不是特别受欢迎,可能是因为它们是用Java构建的。