2017-06-01 50 views
0

我正在寻找一种方法来将本地节点js应用程序部署到多台机器上。简单安装节点js包没有发布

是否有某种方法可以创建批处理文件来压缩或安装文件,这将使我的节点js应用程序及其所有依赖项,并可能通过发送一个或多个文件来安装在多台机器上的节点js ?

另外,如果代码更新到所有这些机器,是否有某种方式提供更新?

基本上,我希望能够在本地多个位置安装我的节点js包/应用程序,而无需将我的工作发布到npm。有任何想法吗?似乎找不到任何东西,除了把节点js放在网络服务器上,还是发布到npm?

+0

如果您可以与所有计算机共享驱动器,则可以将其安装到中央位置并使用它。在发布到npm时,请注意您可以1)设置您自己的注册表,2)从(私有或公共)Git存储库安装,或者3)'npm i --save file:/// path/to/central/package ' – Whymarrh

+0

@Whymarrh安装到共享网络位置只是要求问题。它引入了单点故障。此外,可能涉及多种体系结构,因此部署时将需要'npm rebuild'。 – Brad

+0

与package.json一起发送文件并从文件路径安装该软件包的问题是,我在node_modules文件夹中创建了其他模块,这些模块未在npm上发布,我也希望保持私有模式...我想我可以使用inno安装程序来创建一个安装文件,但然后我想theyd必须卸载并重新安装每次我发送一个更新的安装文件。还试图想想使用批处理文件的解决方案... – GarudaAiacos

回答

0

这是相当大的。如果不使用先进的工具,这两个可以工作:

git pull origin master 
npm install 

rsync

0

节点JS应用的解决方案和所有依赖

运行的npm install你在哪里开发应用程序。然后,打包整个目录,包括node_modules目录。当您将tarball部署到另一台机器时,请确保运行npm rebuild,以便为您刚刚部署到的平台构建任何二进制依赖关系。如果您在同一平台类型上执行初始npm install,则通常可以跳过重建步骤。

此外,如果代码更新到所有这些机器,是否有某种方式提供更新?

有无数的方法,你选择什么取决于你的需求。您可以检入整个项目,包括node_modules以进行版本控制,并且只需定期从分支中提取Bash脚本并根据您的特定需求弹出必要的东西。当心,虽然node_modules往往是巨大的...它通常被排除在版本控制之外。也许坚持在服务器上的压缩包,并根据需要拉动。

,并可能得到节点JS太

记住,独立。每次部署应用程序时都不需要部署Node.js。