我有一个简单的 Heroku 部署管道(审核应用程序 -> 开发 -> 登台 -> 生产)。
如果我将某些内容推送到 master
,那么它将触发 CI(codeship),如果测试成功运行,Codeship 会将更改部署到 development
Heroku 应用程序。这非常简单。
但是我们如何管理修补程序呢?如果我们出于任何原因无法将当前的 master
部署到生产环境,会发生什么情况。
我刚刚读了一篇article这表明我们应该使用 git 标签来处理修补程序。这是管理修补程序的唯一方法吗?我们可以在不使用 git 标签的情况下处理这些问题吗?
最佳答案
master
是您的部署分支。因此修补程序也在 master
分支中完成。
我假设您也有一个开发分支。因此,如果您有正在进行的工作,您可以继续在开发分支上进行,而不是将其 merge 到master
。
如果 master
损坏 - 您必须修复它(因此需要修补程序)。您修复问题,将其推送到 master,然后继续部署周期。
那么您还应该将修补程序挑选回您的开发分支。
更新
如果您希望坚持使用单个 master
分支,那么我看不到使用修补程序分支的解决方法。
您不必每次都标记一个。但关键是要知道哪个版本是当前生产槽中的最后一个稳定版本。
开发人员继续在master
上工作 - 它进入了staging阶段,但您认为它无法继续进入master阶段。
所以你:
- 根据当前版本创建一个新分支 - 这是修补程序分支。
- 创建修复
- 部署
- 将其 merge 到母版
关于git - 管理 Heroku 管道中的修补程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52687767/