前言在这篇文章之前,我写了一个关于使用webhook自动部署NodeJS项目的问题。因为想用webhook,所以选择了coding,做了一个同样支持webhook的代码仓库。但是有的同学可能不想把代码放到第三方仓库。他们可以在本地用一行命令直接部署到服务器上吗?抛出这个问题后,我用谷歌搜索,发现友达的github中居然有一个repo可以完美解决我的需求,太棒了!repo:POD准备首先需要一台VPS,安装好Node、npm和git。然后安装pod:$npminstall-gpodquickuse确保准备工作完成后,连接到你的VPS,我们需要先在服务器上做一些操作。使用pod初始化目录:$pod直接在终端运行pod,它会询问你是否使用当前目录,如果你有特殊需要可以自己设置。并在你设置的目录下创建两个文件夹,分别是:apps和repos。使用pod创建项目:$podcreatemyapp运行上面的命令后,会输出一些内容,并在apps和repos两个文件夹下创建一个名为myapp的文件夹和一个.git文件。它的输出中有两个黄色字体,分别是部署目录和工作目录。记住这两条路径,后面会用到。前两步克隆项目到本地是在服务器上进行的,接下来我们需要将项目克隆到本地。$gitclonessh://username@publicIP/yellowfontpath(woking)克隆后,我们正在创建一个新的远程部署。$gitremoteadddeployssh://用户名@公网IP/黄色字体路径(repo)在使用了Expressgit之后,我们会尝试用express做一个简单的应用,部署到服务器上。app.jsconstexpress=require('express')constapp=express();app.use((req,res)=>res.end('helloexpress!'))app.listen(8080)package.json{"name":"myapp","version":"1.0.0","description":"","main":"app.js","scripts":{"test":"echo\"错误:没有指定测试\"&&exit1"},"repository":{"type":"git","url":""},"author":"","license":"ISC","dependencies":{"express":"^4.14.0"}}.gitigorenode_modules.vscode/.DS_Storedump.rdb然后我们commit,然后push到服务器,$gitadd.$gitcommit-m"firstcommit"$之后查看gitpushdeploymaster的结果,确保本地推送到服务器成功,我们回服务器。运行:$podlist查看你的项目是否运行成功,然后使用公网ip访问页面查看是否出现成功。综上所述,POD还有很多强大的功能。以上只是简单的介绍。如果你想了解更多,请去github,里面有详细的文档和案例。
