以前和我的本地机器上,我一直在使用nodemon哪个手表对Node应用程序进行更改,并在每次更改时重新加载.但是在我自己的机器上运行开发服务器已不再可行,所以我在指定的开发服务器上为应用程序设置了git.
之前,我更喜欢Sublime Text,因此通过终端在开发服务器上编辑文件与我的工作流程不匹配,而且我喜欢默认情况下在本地计算机上拥有所有内容的副本.我也检查了rsync,但我喜欢git提供的细粒度版本控件.
那么如何在本地编辑文件,将git push它们编辑到开发服务器,并在每次推送后自动重新加载Node应用程序?
你可以写一个服务器端钩子.在.git目录中有一个钩子目录.只需cd到.git/hooks.在那里,您可以用您需要的任何语言编写脚本.基本上在您推送它之后将运行您告诉它的脚本.这里有关于git hooks的更多信息
https://git-scm.com/book/es/v2/Customizing-Git-Git-Hooks
快速教程使这项工作:
在开发服务器上,浏览/home/dev-user/Node和初始化的裸库/home/dev-user/Node/example.git使用git init --bare example.git.
将存储库克隆到/home/dev-user/Node/example使用中git clone example.git.
文件添加到/home/dev-user/Node/example必要的,然后git add .和git commit -m "init"最后git push origin master将这些文件推送到example.git.
编辑或创建/home/dev-user/Node/example.git/hooks/post-receive并添加以下行:
GIT_WORK_TREE=/home/dev-user/Node/example/ git checkout -f
这将在/home/dev-user/Node/example/推送的任何更改时自动更新文件/home/dev-user/Node/example.git.
如果您尚未nodemon安装,请安装它npm install -g nodemon.你可能不得不使用sudo.
假设您的主节点应用程序位于/home/dev-user/Node/example/app.js,使用nodemon /home/dev-user/Node/example/app.js(或者如果您已经在内部/home/dev-user/Node/example,nodemon app.js当然是启动应用程序).
在本地计算机上,导航到/home/timbur/Node并假设您能够通过SSH自动连接到服务器,使用克隆裸存储库git clone dev-user@dev.server.ip.address:Node/example.git.你现在可以拥有一切/home/timbur/Node/example.
编辑本地计算机上的文件并像往常一样将/ commit/push文件添加到开发服务器,更改将自动更新服务器的example目录,该目录nodemon将检测并重新启动应用程序.
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |