BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Docker的测试基础设施

| 作者 João Miranda 关注 2 他的粉丝 ,译者 金灵杰 关注 5 他的粉丝 发布于 2015年8月3日. 估计阅读时间: 2 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

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二进制文件,以便尽早的发现缺陷。

查看英文原文:Docker's Testing Infrastructure

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT