1 、在项目根目录添加ecosystem.yaml文件
apps:
- script: ./app.js # 入口文件
name: 'app' # 程序名称
env: # 环境变量
COMMON_VARIABLE: true
env_production:
NODE_ENV: production
deploy: # 部署脚本
production: # 生产环境
user: root # 服务器的用户名
host: 192.168.1.111 # 服务器的ip地址
port: 22 # ssh端口
ref: origin/master # 要拉取的git分支
ssh_options: StrictHostKeyChecking=no # SSH 公钥检查
repo: https://github.com/xx.git # 远程仓库地址
path: /data # 拉取到服务器某个目录下
pre-deploy: git fetch --all # 部署前执行
post-deploy: npm install && pm2 reload ecosystem.yaml --env production # 部署后执行
env:
NODE_ENV: production
2、 服务器操作-以ubuntu为例
1、设置服务器免登陆
2、把本地的 id_rsa.pub 的公钥被配置到git仓库里
3、把服务器的 id_rsa.pub 的公钥被配置到git项目的 deploy keys(gitee 在部署秘钥)
4、把服务器的 id_rsa.pub 的公钥被配置服务器免登陆文件中 地址一般为
5、找到项目存放目录,执行pm2 deploy ecosystem.yaml production setup 注意: 首次部署 需要使用 setup, 第一次成功之后就不用使用了
6、后续更新直接执行pm2 deploy ecosystem.yaml production update
7、这样每次上传代码都要重新执行一边pm2,比较麻烦;使用宝塔webhook配合gitee的webhooks上传代码自动发布
8、找到宝塔webhook,增加webhook:
# 你的项目目录
cd /data/xxx
pm2 deploy ecosystem.yaml production update
点击查看秘钥复制
9、去gitee webhooks 把地址放进去 密码使用秘钥
接下来每次push 就自动部署了;
vue react项目也一样配置