回滚pm2部署到特定提交

sha*_*une 2 git deployment node.js pm2

我想知道如何使用pm2“回滚”最近的代码更改。

我们团队的变更流程要求我们在部署出现问题时制定“回滚”计划。我们通常只是记录下来,回滚计划将是git checkout CHANGESET返回到代码的先前版本,同时解决问题并在开发人员中对其进行测试。

如何使用pm2实现类似的回滚?我们的部署过程很新pm2 deploy production,下面包含了我的ecosystem.json。当前,UAT和生产都使用来源/主数据作为“参考”。我当时在考虑使用标签或其他东西,但不确定最好的方法。也许我应该git checkout COMMIT在这些罕见的回滚案例中继续做一个,但是在寻找其他想法。

{
  "apps": [{ blah... }],
  "deploy": {
    "UAT": {
    "user": "USER_HERE",
    "host": ["IP_HERE", "IP_HERE"],
    "ref": "origin/master",
    "repo": "git@github.com:USER/REPO.git",
    "path": "/home/USER/node",
    "post-deploy": "bash ./update.sh"
  },
  "production": {
    "user": "USER_HERE",
    "host": ["IP_HERE", "IP_HERE"],
    "ref": "origin/master",
    "repo": "git@github.com:USER/REPO.git",
    "path": "/home/USER/node",
    "post-deploy": "bash ./update.sh"
  }
}
Run Code Online (Sandbox Code Playgroud)

Gia*_*omo 5

该工具pm2 deploy提供命令revert。因此,您可以执行以下操作:

pm2 deploy ecosystem.json revert
Run Code Online (Sandbox Code Playgroud)

这会将您的应用“回滚”到之前的部署。您还可以指定最后一次部署恢复到多少次。

又见命令[ref]联合listcurrprev

https://github.com/Unitech/PM2/blob/0.14.7/ADVANCED_README.md#deployment-options