pm2 远程发版

作者: 前端妹子ice | 来源:发表于2018-11-13 22:37 被阅读3次

创建配置项

在你的git仓库根目录中新建pm2配置文件ecosystem.config.js,如注释所示,或者执行pm2 init初始化文件ecosystem.config.js

module.exports = {
  apps : [{
    //pm2名字
    name: "nextcn",
   //pm2运行脚本
    script: "./app.js",
  //环境变量
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production",
    }
  }],
  deploy: {
    // "production" is the environment name
    production: {
      // 服务器端SSH key 地址, 默认 $HOME/.ssh
      key: "$HOME/.ssh",
      // SSH user 需配置
      user: "root",
      // SSH host 需配置
      host: ["47.98.138.195"],
      // SSH options with no command-line flag, see 'man ssh'
      // can be either a single string or an array of strings
      ssh_options: "StrictHostKeyChecking=no",
      // GIT remote/branch
      ref: "origin/master",
      // GIT ssh远程地址 需配置
      repo: "git@github.com:raoenhui/next-site-cn.git",
      // 放入服务器端地址 需配置
      path: "/ice/pm2",
      // Pre-setup command or path to a script on your local machine
      "pre-setup": "echo 'This is a pre-setup command'",
      // Post-setup commands or path to a script on the host machine
      // eg: placing configurations in the shared dir etc
      "post-setup": "ls -la",
      // pre-deploy action
      "pre-deploy-local": "echo 'This is a pre-deploy-local command'",
      // post-deploy action
      "post-deploy": "npm install && pm2 reload ecosystem.config.js --env production'"
    },
  }
}

安装

pm2 deploy production setup

服务器上的git版本需要在v1.8以上,否则fetch不成功,代码更新不了。可参照CENTOS安装高版本GIT

image.png

更新

pm2 deploy production update

回滚

pm2 deploy production revert 1

可查看提交记录,回滚到想要的版本pm2 deploy production list

强制提交

pm2 deploy production --force

当你代码有修改但是不想提交时可以强制发布

参考资料

Happy coding .. :)

相关文章

  • pm2 远程发版

    创建配置项 在你的git仓库根目录中新建pm2配置文件ecosystem.config.js,如注释所示,或者执行...

  • tags

    发版打定版标签 1、 添加标签 2、提交标签到远程仓库 3、删除标签 4、删除远程标签 5、查看标签

  • PM2实现Nodejs项目自动部署

    PM2实现Nodejs项目自动部署 原理:本地git仓库与远程仓库关联(github、码云等平台),然后pm2按照...

  • pm2 相关记录

    pm2官网 http://pm2.keymetrics.io/ PM2常用命令 安装 最新的PM2版本可以使用NP...

  • Nuxt.js 通过 pm2发布时报错

    不使用pm2发布是正常的,可以直接使用npm run start。 pm2执行nuxt发布指令 提示错误 (因为后...

  • PM2实现Nodejs项目自动部署

    PM2实现Nodejs项目自动部署 首先简单说下思路:本地git仓库与远程仓库关联(github、码云等平台),然...

  • PM2检查进程状态并重启

    pm2 delete pm2 start pm2 stop pm2 resta...

  • PM2实现远程发布

    pm2是一个node的守护进程管理器 学习的原因 最近在公司的旧项目改造中,把一个旧项目拆分成了3个项目,并用ng...

  • 用Nginx反向代理Node.js

    安装pm2 修改package.json 启动pm2 开机启动pm2 注意 若pm2 startup centos...

  • cocoaPods制作私有库遇到的问题

    您的配置中指定要合并远程的引用 'refs/heads/master 问题原因:我发版出现这个问题的表面原因是,私...

网友评论

  • 前端大镖客_:你这样是不是需要在远程服务器打包
    前端妹子ice:我这个是在本地打包的,放在git上,远程服务器拉git代码。但是可以在远程服务器打包,post-deploy配置项里可以加打包命令。

本文标题:pm2 远程发版

本文链接:https://www.haomeiwen.com/subject/aargxqtx.html