清理git部署工作流程

时间:2015-08-19 15:48:52

标签: git version-control workflow git-flow

我们正在尝试实施基于git的部署自动化工作流程。目前,我们有三种环境:开发/升级/生产。我们的想法是将这些环境标记为同名的分支(除了生产=主),然后我们开发了一个小型CLI,它接受如下命令:

cli deploy -e production -t patch

这会运行一系列内部任务,作为最后一步,将本地分支合并到正确的环境分支(在本例中为Master)中,然后根据SemVer规范({1}}在package.json中对其进行压缩(在此例如,补丁级别版本将增加major.minor。补丁部分)并适当标记提交。

这非常有效:我们总是知道在哪个环境中部署了什么,我们可以轻松回滚,并且我们已经从个别开发人员的错误中采取了某些步骤。

然而,这也导致一个不太漂亮的git日志。首先,分支Master仅包含合并提交(Merge branch 'hotfix'Merge branch release-2.0.0等),因为我们决定保持分支历史不变。这是它在Git Flow模型中的样子吗?

此外,我们在合并后碰坏了版本,因此Master分支看起来总是如下:Merge branch 'hotfix'Bumping version to 2.3.1

这看起来很丑陋,特别是随着项目的发展,开始变得更加混乱。我确信必须有更清洁的方法来做到这一点,但我无法弄清楚我们可以调整的内容。

0 个答案:

没有答案