回滚pm2部署到特定提交

时间:2015-08-11 15:41:23

标签: node.js git deployment pm2

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

我们团队的变更流程要求我们进行"回滚"计划在部署问题的情况下。我们通常只记录回滚计划将git checkout CHANGESET返回到代码的先前版本,同时我们修复问题并在dev中测试它。

如何使用pm2实现类似的回滚?我们的新部署流程是pm2 deploy production,我的ecosystem.json包含在下面。目前UAT和生产都使用origin / master作为" ref"。我想也许可以使用标签或东西,但不确定最好的方法。也许我应该继续在这些罕见的回滚案例中做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"
  }
}

1 个答案:

答案 0 :(得分:5)

工具pm2 deploy提供命令revert。所以,你可以这样做:

pm2 deploy ecosystem.json revert

将您的应用“回滚”到之前的部署。您还可以指定上次部署还原的数量。

另请参阅命令[ref]以及listcurrprev

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