用express搭建了一个小程序的后台,想要部署到服务器上,每次都要手动部署,点来点去耗时,就想能不能省去这些重复性的操作
之前搭建hexo博客时用到了gitHooks实现了自动部署,就想,后台部署应该也可以采用这种方式实现自动部署
后台 express
工具 git pm2
服务器 Ubuntu 18.04.1 LTS
在本地先搭建好express以及git
在服务器中下载好node,git,pm2
node下载
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
git 下载
sudo apt install git
pm2 下载
npm install -g pm2
在服务器中新建空仓库
cd /var/www/html
mkdir express && cd express
git init --bare .git
配置githooks
cd .git/hooks/
vim post-receive
内容如下:
#!/bin/bash
git --work-tree=/var/www/html/express --git-dir=/var/www/html/express/.git checkout -f
将项目和远程代码库连接
在本地生成密钥对
在本地生成ssh密钥对,并把公钥传到服务器/root/.ssh/authorized_keys文件中(没有则新建一个)
ssh-keygen -t rsa -C "xxxx@xxx.com"
生成的公钥在用户目录的.ssh中
生成本地代码库
进入本地项目中
git init
git remote add deploy <远程服务器用户名>@<远程服务器地址>:/var/www/html/express/.git
git add .
git commit -m 'up'
git push deploy master
在服务器中用pm2管理项目
cd /var/www/html/express
npm install
pm2 start ./bin/www --watch
现在每次都可以在本地用git push deploy master命令来实现自动部署了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。