用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命令来实现自动部署了小程序