用PM2做自动部署

1 分钟阅读

PM2是一个常用的进程管理,很多人不知道他还有自动部署的功能,实现自动部署也非常的简单,我们只需要生成一个配置文件
执行_PM2 ecosystem_ 这会帮我们生成一个ecosystem.config.js的文件 我们将文件做如下修改即可

javascript
module.exports = {
  apps: [
    {
      name: 'app', // 进程的名称
      script: 'bin/www', // 指定服务器启动的文件,
    },
  ],
  deploy: {
    production: {
      key: './key.pem', // SSH的KEY 没有可以不填 使用用户名密码的方式登录 推荐使用SSH
      user: 'xxxx', // 用户名
      host: ['xx.xx.xx.xxx'], // 你的公网IP
      ssh_options: 'StrictHostKeyChecking=no',
      ref: 'origin/master', // 分支
      repo: 'https://帐号:密码@仓库地址', // 代码远程仓库的地址

      path: '/wwwroot/blogejs', // 服务器上的目录地址
      'post-deploy':
        'npm install && pm2 reload ecosystem.config.js  --env production', //要执行的命令
    },
  },
}

之后我们执行pm2 deploy production setup 就可以初始化自动部署了
初始化之后继续执行pm2 deploy production pm2就会自动帮我们部署代码并启动项目了