git - 管理 Heroku 管道中的修补程序

标签 git heroku release hotfix

我有一个简单的 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/

相关文章:

node.js - 如何扩展使用 Nowjs 的 Heroku 应用程序?

maven - "You don' 在 react 器项目列表中没有 SNAPSHOT 项目。”使用 Jenkins Maven 发布插件时

github - 下载最新的 GitHub 版本

angular - 使用 ts-node 部署 Heroku

javascript - setTimeout 会使用 Heroku 免费测功机小时吗?

java - 带有可序列化对象的 IOException

windows - 为可移植 git 配置移动目录

git - 适合 10 人学生团体的最佳 VCS 和托管服务?

git - 以下未跟踪的工作树文件将被 merge : . gitignore 覆盖 请在 merge 之前移动或删除它们

git - 鼠标选项在 Git-Bash Windows 上的 Vim 中不起作用