pm2配合gitee使用webhook自动部署项目

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 的公钥被配置服务器免登陆文件中 地址一般为 \color{red}{~/.ssh/authorized_keys}
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 把地址放进去 密码使用秘钥


image.png

image.png

接下来每次push 就自动部署了;
vue react项目也一样配置

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容