使用 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 上,裏面有詳細的文檔和案例。

相關文章
相關標籤/搜索