关闭

Docker的测试基础设施

发表于:2015-11-03 10:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:金灵杰    来源:51Testing软件测试网采编

  Jessie Frazelle是Docker核心团队成员,负责Docker的测试基础设施。他描述了这些测试设施是如何构建在Docker容器之上的。
  这些测试基础设施由大约50台服务器组成。它们涵盖六种Docker保存镜像使用的存储驱动、所有Linux发行版和Docker支持的各种Linux内核版本。Windows平台的Docker客户端也涵盖在测试基础设施中,它在Windows主机上提供了运行Docker的轻量级虚拟机。
  推送到master分支和拉取请求(pull requests, PR)都有它们自己的工作流。除了执行所有Docker测试用例之外,每次成功推送到master分支之后,都会发布Docker二进制文件和文档,以提供给希望尝试前沿版本的人。Docker二进制文件构建服务(docker-bb)负责处理构建master分支的二进制文件。
  拉取请求有自己的工作流和服务器。每个拉取请求(每周有超过100个),都会针对实验性二进制文件和Windows Docker客户端执行Docker测试用例。Frazelle创建了一个小应用Leeroy,管理所有的拉取请求(PR)的构建。它的职责包括更新每个拉取请求的状态(等待、成功、失败或者错误)和验证Docker原始开发者认证。
  Docker使用Jenkins作为持续集成服务器,因为它提供了灵活性,同时控制团队需求。正如预期那样,Frazzele使用官方镜像来将Jenkins运行在容器中。
  作为服务发现工具的Consul,是整个测试基础设施的关键部分。Frazelle利用它的服务标记功能来追踪数据,包括Linux内核版本、存储驱动。这样反过来有助于故障排除活动。Consul的健康检测利用consul-alerts组件,在服务出现故障的时候通知团队成员。
  Docker团队使用实时分布式消息平台nsq集成这些流程。例如用于链接GitHub钩子到Docker二进制构建服务(docker-bb)或者部署master分支上的文档。
  支撑测试基础设施的所有服务都运行在Docker容器中,这些测试基础设施总是使用Docker最新的发布候选版本。有时也会使用最新的master二进制文件,以便尽早的发现缺陷。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号