Tag: 可行的

NodeJS生产部署最佳实践

我正在寻找以一致和及时的方式将一些Web服务部署到生产环境中的方法。 我目前正在实施一个部署pipe道,该pipe道将以一个特定版本的软件的手动部署操作结束到由Ansible提供的许多虚拟机。 这个想法是使用版本Aconfigurationx个实例,同时已经有y个运行版本B的实例。然后映射并轻拂stream量。 同样的机制应该允许我使用我已经创build的映像在一个集合中扩展新的vms。 我已经考虑了以下选项,但是想知道是否有我忽略的东西: TGZ CI环境将从已通过unit testing和集成testing的项目中构build一个tarball。 可选的是,将会捆绑(取消在生产计算机上运行npm install并依赖到公共或专用npm存储库的networking连接)的需求。 我的主要问题是依赖于系统库的任何依赖关系将build立在不同的机器上(尽pipe是相同的图像)。 我不喜欢这个。 NPM CI环境将发布到私有NPM存储库,并且在configuration之后,Ansible部署脚本将检出特定的版本。 当您想要部署时,这又会受到对外部服务的依赖。 我不喜欢这个。 混帐 任何依赖于系统的模块都将作为供应的一部分进行全局安装,并将所有其他依赖项都检入到资源库中。 这使我能够灵活地进行差异化部署,只需推动增量,应用程序守护进程几乎可以立即由进程pipe理器自动重新启动。 依赖关系然后被绝对locking。 这意味着,除非缩放,否则不需要旋转新的虚拟机。 部署可以直接推送到所有活动的实例。