gpt4 book ai didi

testing - 有关 docker、测试环境和开发工作流程的查询

转载 作者:行者123 更新时间:2023-11-28 20:54:26 25 4
gpt4 key购买 nike

我是一名 QA 自动化工程师,我正在研究将 docker 作为运行测试的潜在方式。

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

所以我的问题是 docker 是否需要这个工作流程?我在想也许有一个如下所述的工作流程:

  • 开发人员开始开发一项新功能。
  • Dev 拉动 master,创建功能分支 - 做他的开发工作 - 单元测试通过,dev 很高兴工作去 QA
  • Dev 运行脚本来创建候选版本(如果新代码已被另一个开发人员合并到 master,这将涉及再次拉取 master),
  • Docker 然后启动一个容器,其中包含多个容器(前端应用程序、数据库实例等)
  • 然后针对此候选发布版本运行测试(单元、api、selenium 集成等),如果一切顺利,则部署到生产环境中。

那么我是否需要一个传统意义上的持续可用的暂存环境?

最佳答案

我认为您将两件事混为一谈:持续集成环境和暂存环境。 Docker 确实可以很容易地启动整个堆栈的新实例以进行持续集成(参见 drone 的一个很好的例子),但通常您仍然需要一个在部署到生产之前始终可用于测试的暂存环境。这个暂存环境应该运行最终部署到生产环境的相同 docker 镜像。

关于testing - 有关 docker、测试环境和开发工作流程的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31143979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com