【发布时间】:2017-06-09 00:53:59
【问题描述】:
要求
- 我们有 2 个环境。 -- 测试和生产
- 我们想做持续部署。
- 我们正在使用 Git Flow。
使用 git-flow,我们应该在生产环境中部署发布(或主)分支。 (两种不同的管道,一种用于持续集成(分支开发),一种用于持续交付(分支主)。
我应该如何使用我的发布分支?
我的想法是如果测试通过开发。我会让 CI 服务器创建一个发布分支提交。并将更新的发布分支点部署到我的生产暂存槽。在业务批准后,其中一个发布点将部署到生产环境中。
这意味着我让 CI 服务器自动创建一个发布分支并在生产环境的暂存槽上重新运行所有测试。如果失败则上报并删除发布分支,否则创建发布点,触发网络交换并合并到master。
这种方法的优缺点是什么?最佳做法是什么?
我们真的需要发布分支,尤其是在我们没有使用功能切换到单独发布的地方吗? (有多个人在做同一个项目)
参考
- 功能切换,Youtube,https://www.youtube.com/watch?v=gxm1C92XhCQ
- 成功的 Git 分支模型,http://nvie.com/posts/a-successful-git-branching-model/
【问题讨论】:
标签: continuous-integration teamcity bamboo continuous-deployment octopus-deploy