惠普发布 Operations Orchestration 与 Docker 测试工具

  • Collin Chau
  • 运河凭

2015 年 2 月 26 日

话题:云计算DevOps语言 & 开发架构

在去年 12 月 2 号到 12 月 4 号于巴塞罗那召开的惠普 Discover 2014 大会上,我们显示了一套采用惠普 Operations Orchestration(简称惠普 OO)社区版与 Docker 技术的演示方案。

这套演示方案帮助大家以直观方式了解如何将最新前沿开源技术——例如 Docker——与惠普 Operations Orchestration(简称惠普 OO)IT 流程自动化方案相结合,从而利用由此构建而成的编排层提供管理能力并以统一化方式运用企业内各个部门的技术元素。

我们所展示的用例以一位典型质量保证工程师的日常事务为基础,具体需求为对针对多种操作系统构建而成的多种新型应用程序 build 执行端到端测试。

为了进一步提高效率,这项工作能够以自动化方式由惠普 OO 负责完成,而且在并行化支持下整个流程只需数分钟。以下图所示为该流程的实施过程以及范围划分:

该演示方案中的所有系统都包含在下载内容当中,并运行在 Docker 容器环境之下。大家可以通过安装 Boot2Docker 并下载该演示内容轻松将其运行在自己的笔记本电脑之上。本文末尾将集中提供各相关链接。该演示方案拥有以下几项组件:

  1. HP Operations Orchestration 社区版 – 作为编排引擎使用。
  2. Nexus – 作为 artifact 构建之源的 artifact 库。
  3. Docker 主机与容器 – 承载着全部工具以及质量保证设备的基础设施。
  4. Selenium – 功能测试工具。
  5. Pet Clinic – 该演示方案所使用的示例应用程序。
  6. CentOS、Ubuntu 以及 SUSE – 作为 Pet Clinic 测试环境的操作系统平台。

所有组件都运行在 Docker 容器当中。

大家可以点击此处下载惠普 Operations Orchestration 社区版并利用它作为自己的编排引擎。

演示内容

该演示内容包含两套工作流程以及多套子流程。随演示附带的指南文件当中提供针对各流程的具体说明。在本篇文章中,我们将近距离观察其中的主流程:以并发方式部署 Pet Clinic 并触发测试。该流程的设计目的在于展示 Web 应用程序当中并发自动化部署及自动化测试所带来的便捷性优势,而这也能被轻松引入大规模 DevOps 体系当中。该流程的实现需求包括:

  1. 以动态方式在 Docker 主机上创建四套新的 Docker 容器系统。
  2. 以动态方式移除全部四套容器系统,从而实现运行环境清理。
  3. 利用 SMTP 服务器向收件人发送邮件报告。这份邮件报告本身应当为收件人提供充足的细节信息,其中包括:
    • 测试状态(测试结果以邮件附件形式交付)。
    • 容器状态(如果这些容器在创建与移除方面得到妥善解决)。
    • 一般性环境细节。

前两条要求的根源来自客观现实,即我们曾在自己的研发团队当中进行过 Docker 主机共享,并发现由于容器系统运行速度极快且易于创建,因此在缺乏政策严格把控的情况下、Docker 主机很快就会被大量不再使用的容器所挤占甚至吞没。在标准化流程当中,我们需要根据现有政策确保整套环境以自动化方式进行清理。

那么工作流程又是怎样的?该工作流程的执行步骤如下:

  1. 创建 Selenium 环境(即新容器)。
  2. 对于每套以并行方式运行的目标操作系统(包括 CentOS、Ubuntu 以及 SUSE):
    • 创建针对特定操作系统的容器
    • 部署 Pet Clinic build(在每套容器当中使用 Docker Exec 命令)
    • 利用 Selenium 运行测试
  3. 删除针对特定操作系统的容器
  4. 分析 Selenium 报告并整理成结果汇总。
  5. 将结果以邮件形式发送至预告设定的邮件地址。

以下图表所示为容器技术概述:

在惠普 OO 当中,工作流程采用如下设计:

以本地方式运行演示

起步工作易于上手——只需要下载以下三项:

如果大家拥有惠普 Live Network 账户,那么现在就可以正式着手进行了。如果手头还没有该账户,大家也能够以免费方式轻松创建一个。

第一步是从惠普 Live Network 当中下载演示内容,并查阅演示附带的指南文件以了解详尽的安全步骤。该演示内容将为惠普 OO 社区版创建一套容器,这样大家就无需自行加以安装了——不过我们仍然需要下载对应库并将其交付至演示安装工具,正如指出当中所强调那样。

如果大家还有其它问题,请在惠普 OO 社区论坛上与我们进行交流:http://www.hp.com/go/OOPractitionerForum

欲了解与惠普 OO 相关的更多信息: http://www.hp.com/go/oo

欲了解与惠普 OO 社区版相关的更多信息: http://www.hp.com/go/ooce

欲了解与 Dockers 相关的更多信息: http://www.docker.com

云计算DevOps语言 & 开发架构