我是QA自动化工程师,我正在调查docker作为运行测试的潜在方式。
传统上我们遵循git flow方法,其中你主要有dev和master分支。开发人员不断将他们的新变化合并到开发分支。当我们希望发布时,我们将删除代码,其中dev分支上的所有内容都被视为下一个版本的一部分。然后运行脚本以创建候选版本,并将其部署到暂存。需要完成的任何修复都发布到发布分支,一旦准备好进入prod,新代码将合并到master并进行部署。 Master将重新合并到所有分支机构,以便一切都是最新的。 (在此更详细地描述:http://nvie.com/posts/a-successful-git-branching-model/)。
所以我的问题是使用docker你需要有这个工作流程吗?我想可能有像下面描述的工作流程:
所以我需要一个传统意义上的staging env,它始终可用吗?
答案 0 :(得分:0)
我认为你在混淆两件事:持续集成环境和临时环境。 Docker确实可以轻松地创建整个堆栈的新实例以进行持续集成(请参阅drone以获得一个很好的示例),但通常您仍需要一个在部署到prod之前始终可用于测试的暂存环境。此暂存环境应该运行最终部署到prod的相同docker镜像。