使用 POD 来部署 NodeJS 项目!

前言

在这篇文章之前我曾经写过一个一篇使用 webhook 来自动部署 NodeJS 项目的问题。由于要使用到 webhook 因此我就选择了 coding 来作一个代码仓库恰好也支持 webhook。可是,某些同窗可能不想把代码放到第三方的仓库上面,能不能直接在本地一行命令就部署到服务器上面呢?node

抛出这个问题以后,我便用 Google 搜素了一下,发现尤大大的 github 里面竟然有一个可以完美解决个人要求的 repo,太棒了!git

repo:PODgithub

准备工做

首先须要一台 VPS,而且安装好 Node、npm 和 git。web

接着来安装 pod:面试

$ npm install -g pod

快速使用

确保准备工做都作好后,连上你的 VPS,咱们须要在服务器上面先作一些操做。express

使用 pod 初始化目录:

$ pod

直接在终端运行 pod 它会询问你是否使用当前目录,若是有特殊需求的话能够自行设置。而且在你设置的目录下建立两个文件夹,分别为:apps 和 repos。npm

使用 pod 建立项目:

$ pod create myapp

运行上面的命令后,它会输出一些内容,而且在 apps 和 repos 两个文件夹里面建立好名为 myapp 的文件夹和 .git 文件。json

它输出的内容里面有两个黄色字体标注的,分别是部署目录以及工做的目录。记住这两个路径,待会会使用到。服务器

把项目克隆到本地

前面两步都是在服务器上面操做的,接着咱们就须要把项目克隆到本地。app

$ git clone ssh://用户名@公网IP/黄色字体路径(woking)

克隆好事后,咱们在新建一个 remote 用来部署使用的。

$ git remote add deploy ssh://用户名@公网IP/黄色字体路径(repo)

使用 Express

git 操做都作好后,咱们就试下用 express 作一个简单的应用而且部署到服务器上面试试。

app.js

const express = require('express')
const app = express();

app.use((req, res) => res.end('hello express!'))

app.listen(8080)

package.json

{
  "name": "myapp",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.14.0"
  }
}

.gitigore

node_modules
.vscode/
.DS_Store
dump.rdb

而后咱们就 commit 一下,而后 push 到服务器上面去,

$ git add .
$ git commit -m "first commit"
$ git push deploy master

查看结果

保证本地 push 到服务器成功以后,咱们回到服务器上面去。运行:

$ pod list

看看本身的项目是否成功运行了,而后用公网 ip 访问一下页面是否成功出现了。

总结

POD 还有它许多强大的功能,上面只是简单入门,想深刻了解的话请到 github 上,里面有详细的文档和案例。

相关文章
相关标签/搜索