在工作中,我们现在使用 GitHub,并使用 GitHub 流程。我对 GitHub flow 的理解是有 master 分支和 feature 分支。与 git flow 不同,没有开发分支。
这对我们已经完成的项目非常有效,并且简化了事情。
但是,对于我们的产品,我们有一个开发和生产环境。对于生产环境,我们使用 master
分支,而对于开发环境,我们不确定如何去做?
我能想到的唯一想法是:
目前,对于需要开发环境的项目,我们基本上都是使用git flow(特性->开发->掌握)。
您认为我的想法是否合理,如果不合理,您会推荐什么?
编辑:
只是为了澄清,我问的是使用 GitHub Flow 而不是 git flow 实现开发的最佳方法。
最佳答案
根据我的经验,具有多个环境的 GitHub Flow 是这样工作的。合并到 master 不会自动部署到生产。相反,合并到 master 会创建一个构建工件,该工件可以通过使用 ChatOps 工具的环境进行推广。
例如,推送到 master
会创建一个名为 my-service-47cbd6c
之类的构建工件,它是服务名称和短提交哈希的组合。这被推送到某种工件存储库。然后可以使用诸如 ChatOps 风格的斜杠命令之类的工具将工件部署到各种环境中以触发 deloy。例如,此工具还可以进行检查以确保不会跳过测试环境。最后,工件被提升到生产环境。
因此,对于您使用 GitHub Actions 的用例,我的建议是:
master
会创建构建工件并自动将其部署到 开发 环境。 关于github - 使用 GitHub 流程的开发和生产环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61958387/