用express搭建了一個小程序的後臺,想要部署到服務器上,每次都要手動部署,點來點去耗時,就想能不能省去這些重複性的操做html
以前搭建hexo博客時用到了gitHooks實現了自動部署,就想,後臺部署應該也能夠採用這種方式實現自動部署node
後臺 express
工具 git pm2
服務器 Ubuntu 18.04.1 LTS
cd /opt/ wget https://npm.taobao.org/mirrors/node/v12.13.1/node-v12.13.1-linux-x64.tar.xz tar -xf node-v12.13.1-linux-x64.tar.xz
sudo apt install git
npm install -g pm2
cd /var/www/html mkdir express && cd express git init --bare .git
cd .git/hooks/ vim post-receive
內容以下:git
#!/bin/bash git --work-tree=/var/www/html/express --git-dir=/var/www/html/express/.git checkout -f
在本地生成ssh密鑰對,並把公鑰傳到服務器/root/.ssh/authorized_keys文件中(沒有則新建一個)express
ssh-keygen -t rsa -C "xxxx@xxx.com" 生成的公鑰在用戶目錄的.ssh中
進入本地項目中npm
git init git remote add deploy <遠程服務器用戶名>@<遠程服務器地址>:/var/www/html/express/.git git add . git commit -m 'up' git push deploy master
cd /var/www/html/express npm install pm2 start ./bin/www --watch
如今每次均可以在本地用git push deploy master命令來實現自動部署了小程序