我想知道如何使用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"
}
}
答案 0 :(得分:5)
工具pm2 deploy
提供命令revert
。所以,你可以这样做:
pm2 deploy ecosystem.json revert
将您的应用“回滚”到之前的部署。您还可以指定上次部署还原的数量。
另请参阅命令[ref]
以及list
,curr
或prev
:
https://github.com/Unitech/PM2/blob/0.14.7/ADVANCED_README.md#deployment-options