有关泊坞窗,测试环境和开发工作流程的查询

时间:2015-06-30 16:50:14

标签: testing docker

我是QA自动化工程师,我正在调查docker作为运行测试的潜在方式。

传统上我们遵循git flow方法,其中你主要有dev和master分支。开发人员不断将他们的新变化合并到开发分支。当我们希望发布时,我们将删除代码,其中dev分支上的所有内容都被视为下一个版本的一部分。然后运行脚本以创建候选版本,并将其部署到暂存。需要完成的任何修复都发布到发布分支,一旦准备好进入prod,新代码将合并到master并进行部署。 Master将重新合并到所有分支机构,以便一切都是最新的。 (在此更详细地描述:http://nvie.com/posts/a-successful-git-branching-model/)。

所以我的问题是使用docker你需要有这个工作流程吗?我想可能有像下面描述的工作流程:

  • 开始处理新功能。
  • Dev拉大师,创建功能分支 - 他的开发工作 - 单元测试通过,开发人员很乐意去QA工作
  • Dev运行脚本来创建候选发布版(如果新代码已被另一个开发人员合并到主控,则会涉及再次拉取master),
  • Docker然后旋转一个容器,里面有多个容器(前端应用程序,数据库实例等)
  • 然后针对此候选版本运行测试(单元,api,selenium集成等),如果良好部署到生产中。

所以我需要一个传统意义上的staging env,它始终可用吗?

1 个答案:

答案 0 :(得分:0)

我认为你在混淆两件事:持续集成环境和临时环境。 Docker确实可以轻松地创建整个堆栈的新实例以进行持续集成(请参阅drone以获得一个很好的示例),但通常您仍需要一个在部署到prod之前始终可用于测试的暂存环境。此暂存环境应该运行最终部署到prod的相同docker镜像。