【问题标题】:With PM2, how can I update / deploy the code if the git branch has been force pushed?使用 PM2,如果 git 分支已被强制推送,我该如何更新/部署代码?
【发布时间】:2020-05-24 17:58:58
【问题描述】:

这里从 PM2 开始。

上下文: 虽然我们不允许修改 productionstaging 分支历史记录(强制推送),但我们确实允许 dev 或 feature 分支,以便提交可以在审查之前被压缩并转移到生产环境。

但是 PM2 正在尝试拉动,因此在这种情况下失败了。是否可以让 PM2 远程获取然后覆盖而不是尝试拉取和应用更改?

附带说明:Netlify 或 Heroku 等一些平台允许强制推送和部署代码。我想用 PM2 重现它。

【问题讨论】:

  • 是否可以在部署后挂钩中添加rm -rf /path/to/the/folder 时使用pm2 deploy name_of_the_config.json setup,以便重新安装整个东西?

标签: git pm2


【解决方案1】:

在撰写本文时,还没有干净的方法可以做到这一点。
PM2 不允许我们选择如何合并。

但是有一个解决方法:有一个未记录的pre-deploy hook
我们可以使用它来获取被强制推送的代码。

您可以编写部署配置来获取更新,如下所示:

  some-deployment:
    ref: origin/dev
    repo: ...
    path: ...
    pre-deploy: "git fetch && git reset --hard origin/dev"

欲了解更多详情,并可能推动 pm2 开发人员提供干净的解决方案,这里是Github issue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 2017-09-19
    • 2021-09-01
    • 2017-02-24
    相关资源
    最近更新 更多