视频:DevOps 与 WebSphere Liberty 服务器

以下抄本适用于“DevOps 与 WebSphere® Liberty Server”视频,此视频演示如何使用 Liberty 服务器 DevOps 和一些开放式源代码工具开发、构建和部署应用程序。此抄本是视频故事板。音频进行解说和旁白。屏幕操作描述视频中显示的内容。

视频 演示 - DevOps 与 WebSphere Liberty 服务器

表 1. 标题页面. 显示标题,然后显示用于构建、更新、测试和部署应用程序的基本概述。
场景 音频 屏幕上的操作
1 此演示将显示如何提供使用 WebSphere Liberty Server 和一组常用开放式源代码工具构建及部署应用程序的功能。 显示标题演示 - DevOps 与 WebSphere Liberty Server
2 您将使用 Git 进行源代码控制,使用 WebSphere Application Server Developer Tools 开发应用程序,然后使用 Maven 进行构建。 显示图像 1. 开发和构建应用程序,此操作使用以下选项
  • Git
  • WebSphere Developer Tools (WDT)
  • Maven
3 您还将更改 Liberty 中运行的 Web 应用程序并将更改从 Eclipse IDE 推送至生产环境。 显示 2. 更新应用程序的图像,此操作使用 WDT。
4 您将 Apache Maven 与 WebSphere Liberty Maven 插件配合使用以运行集成测试来验证更改。 显示 3. 测试应用程序的图像,此操作使用 Liberty Maven 插件。
5 您还将使用 Jenkins 进行连续集成。 显示 4. 连续集成的图像,此操作使用 Jenkins。
6 您将使用 Chef 将新构建推送至生产环境。

Liberty 将是所有以上 DevOps 方案的 Java™ 平台企业修订版运行时。我们将使用 Airline 应用程序 - AcmeAir 作为此演示中的样本。它将演示可控制的并且可重复性很高的 DevOps 实践。

显示 5. 连续部署的图像,此操作使用 Chef。
表 2. 开发和构建应用程序的演示
场景 音频 屏幕上的操作
7 现在开始第一个场景:开发和构建应用程序。

打开已预安装 WDT 的 Eclipse。

  1. 我们将设置工作空间首选项以与 Maven 配合使用。
  2. 然后,我们将克隆包含 AcmeAir 应用程序的 Git 存储库,指定 Git 存储库 URI。
  3. 然后,我们将导入一组基于 Maven 的 AcmeAir 项目:此存储库包含 5 个基于 Maven 的项目。
  4. 现在,我们可运行 Maven 构建以构建项目并创建应用程序工件。确保构建成功完成。
  5. 现在,我们可创建 Liberty 服务器以从 Eclipse 运行应用程序:接下来指定 Liberty 安装目录。
  6. 然后命名 Liberty 服务器。
  7. 然后,我们可打开 server.xml 来配置该服务器以运行 AcmeAir 应用程序。
    • 首先,我们将指定 <httpEndpoint> 端点。
    • 然后,我们还将添加数据库配置,这里是指应用程序数据的 Derby 数据库。
  8. 启动 WebSphere Liberty 服务器和 AcmeAir 应用程序。
  9. 现在登录应用程序并体验。
  10. 可选择您的目的地及起飞城市。选择可预订的飞机票并预订。
显示标题步骤 1 开发和构建应用程序

一个演示,它显示下列步骤以开发和构建一个使用 WDT 的应用程序。

打开已预安装 WDT 的 Eclipse。

  1. 设置工作空间首选项以与 Maven 配合使用。单击设置所有 Maven 值按钮。
  2. 我们将通过指定 Git 存储库 URI 克隆包含 AcmeAir 应用程序的 Git 存储库。
  3. 导入一组基于 Maven 的 AcmeAir 项目:acmeair 存储库包含 5 个基于 Maven 的项目。
  4. 现在运行 Maven 以构建项目并创建应用程序工件。确保构建成功完成。
  5. 现在,我们可创建 WebSphere Liberty 服务器以从 Eclipse 运行应用程序:指定 Liberty 安装目录。
  6. 将服务器命名为 AcmeAirDemo 并在其中添加 acmeair-webapp 应用程序。
  7. 打开服务器配置 server.xml 文件以配置 Liberty 服务器来提供服务。
    • 替换 <httpEndpoint> 元素并添加其他配置。
    • 添加数据库配置,这里是指应用程序数据的 Derby 数据库。
  8. 启动 WebSphere Liberty 服务器和 AcmeAir 应用程序。
  9. 单击应用程序 URL 以验证应用程序是否处于活动状态。通过装入航班数据集来初始化该应用程序。
  10. 现在 AcmeAir 可供使用。
    • 登录该应用程序并单击航班操作,然后在始发地下输入纽约并在目的地下输入巴黎
    • 单击查找航班浏览航班按钮。
    • 选择任意去程航班,并通过单击以选中该航班。
    • 选择任意回程航班,并通过单击以选中该航班。
    • 单击预订选择航班按钮。
表 3. 有关更新应用程序的演示
场景 音频 屏幕上的操作
8

在场景 2 中,我们将快速更改应用程序并显示如何持续交付更改。为简化此场景,我们仅对已进行索引的页面进行细微更改。将某些突出显示的内容替换为“欢迎访问 Acme Air”。现在,保存更改后可刷新以了解更改是否生效。

显示标题步骤 2 更新应用程序

一个演示,它显示正在应用程序中更新的“索引”页面。

表 4. 有关测试应用程序的演示
场景 音频 屏幕上的操作
9 接下来,我们将使用 Maven 和 Liberty Maven 插件以进行集成测试。
  1. AcmeAir 应用程序具有包含集成测试的 acmeair-itests 项目。
  2. 要启用集成测试,我们需要编辑 pom.xml 文件。我们需要在此处进行一些更改,但最重要的是,我们将启用并配置 Liberty Maven 插件以在执行集成测试前启动 Liberty 服务器,并在测试完成后停止服务器。
  3. 我们将创建运行配置以进行 AcmeAir 集成测试。
    • 单击运行按钮以运行集成测试。这些测试需要几分钟来完成。所以其构建已成功。
    • 检查控制台输出以查看 Liberty Maven 是否在运行测试前启动服务器并在运行测试后停止服务器。
  4. 可查看测试报告并确保结果中没有错误。
  5. 然后,我们将 pom.xml 更改推送至 Git 以便可在 Jenkins 构建中运行 itests
有关测试使用以下步骤的应用程序的演示
  1. AcmeAir 应用程序具有包含集成测试的 acmeair-itests 项目。
  2. 通过编辑 acmeair-itests/pom.xml 文件启用集成测试的激活。
  3. 启用构建帮助程序 Maven 插件以查找可用网络端口。
  4. 启用并配置 Liberty Maven 插件以在执行集成测试前启动 Liberty 服务器,并在测试完成后停止服务器。
  5. 启用并配置 Maven Failsafe 插件以执行集成测试。这些测试将试验应用程序的 REST API
  6. 创建运行配置以进行 AcmeAir 集成测试。
    • 单击运行按钮以运行集成测试。这些测试应成功完成。
    • 检查控制台输出以查看 Liberty Maven 是否在运行测试前启动服务器。
    • 检查控制台输出以查看 Liberty Maven 是否在测试完成后停止服务器。
  7. target/failsafe-reports/ 目录下查看测试报告。
  8. pom.xml 更改推送至 Git 以便可在 Jenkins 构建中运行 itests
表 5. 显示与 Jenkins 的持续集成的演示
场景 音频 屏幕上的操作
10
  1. 在下一个场景中,我们将使用 Jenkins 对 AcmeAir 应用程序创建并运行构建作业。该作业将从 Git 检出应用程序代码,编译应用程序,执行测试,然后发布构建工件。通过 Schedule 中的配置,该作业将以每两分钟一次的频率轮询 Git 存储库并在检测到任何更改时自动启动构建。
    • 指定 Liberty 安装目录。
    • 我们还将添加构建后操作并选择归档工件
    • 一到两分钟后,构建应自动启动。
  2. 一旦构建完成并成功,应检查构建作业结果。测试结果应指示未发生故障。
  3. 切换回 Eclipse 并落实在“索引”页面上进行的更改。
  4. 切换回 Jenkins,新构建将在 2 分钟内出现在构建历史记录表中。
显示标题步骤 4 持续集成

显示与 Jenkins 的持续集成的演示,此集成使用以下步骤:

  1. 我们将使用 Jenkins 对 AcmeAir 应用程序创建并运行构建作业。该作业将从 Git 检出应用程序代码,编译应用程序,执行测试,然后发布构建工件。通过 Schedule 中的配置,该作业将以每两分钟一次的频率轮询 Git 存储库并在检测到任何更改时自动启动构建。
    • 我们将单击添加构建后操作按钮并选择归档工件
    • 一到两分钟后,构建应自动启动。
  2. 一旦构建完成并成功,应检查构建作业结果。acmeair-webapp-1.0-SNAPSHOT.war 文件应出现在构建工件下,并且测试结果应指示没有任何故障。
  3. 切换回 Eclipse 并落实在“索引”页面上进行的更改。
  4. 切换至 Firefox 并访问 http://server:9080/jenkins/job/AcmeAir tests/ 地址。新构建将在 2 分钟内出现在构建历史记录表中。
    • 单击新构建并验证出现在更改下的落实消息是否正确。
表 6. 显示使用 Chef 的持续部署的演示
场景 音频 屏幕上的操作
11
  1. 在最后一个场景中,我们将使用 Chef 执行持续部署。
    • 打开终端窗口。
    • 创建空手册
    • 编辑手册的元数据文件
    • 编辑配方文件
    • AcmeAir 手册上载至 Chef 服务器
  2. 向 Chef 服务器注册 template 节点。
  3. 可在 Chef 服务器上配置 template 节点配置。
  4. 然后可填充 Chef 节点。这将对 template 节点运行 chef-client 命令。AcmeAir 应用程序应该已在 template 节点上完整部署并且正在运行。要进行验证,请切换至 Firefox 并打开 template 应用程序服务器以检查结果。
  5. 然后,我们将创建新的 Jenkins 构建作业,该作业将对 template 节点调用 chef-client 以更新该节点(仅在所有集成测试通过后进行)。
    • 在 Jenkins 控制台上,编辑 AcmeAir tests 作业。
    • 构建后操作下,单击添加构建后操作并选择构建其他项目
    • 要构建的项目下输入 AcmeAir-Chef
    • 通过请求 AcmeAir tests 构建来验证 AcmeAir tests 作业是否触发 AcmeAir-Chef 作业。

我们刚演示了使用 Liberty 和常用开放式源代码工具进行的 DevOps 实践。您现在可尝试重复完整的端到端 DevOps 场景。在此演示中,我们选择了 Chef、WDT、Maven 和 Jenkins,这些技术可由其他 DevOps 工具(例如,uDeploy、Puppet 等等)替代。感谢观看。

显示标题步骤 5 持续部署

显示与 Chef 的持续部署的演示,此部署使用以下步骤:

  1. 创建手册以部署 AcmeAir
    • 打开终端窗口。
    • 创建空手册
    • 编辑手册的元数据文件
    • 编辑 default.rb 配方文件
    • AcmeAir 手册上载至 Chef 服务器
  2. 引导 Chef 节点并向 Chef 服务器注册 template 节点。
  3. 在 Chef 服务器上配置 template 节点配置。
  4. 填充 Chef 节点。执行 knife ssh name:template sudo chef-client 命令。这将对 template 节点运行 chef-client 命令。Chef-client 将对节点执行一组手册。AcmeAir 应用程序应该已在 template 节点上完整部署并且正在运行。要进行验证,请切换至 Firefox 并打开 http://template:9081/acmeair/ 地址。
  5. 使用 Jenkins 自动填充 Chef 节点。我们将创建新的 Jenkins 构建作业,该作业将对 template 节点调用 chef-client 以更新该节点(仅在所有集成测试通过后进行)。
    • 在 Jenkins 控制台上,编辑 AcmeAir tests 作业。
    • 构建后操作下,单击添加构建后操作并选择构建其他项目
    • 要构建的项目下输入 AcmeAir-Chef
    • 通过请求新的 AcmeAir tests 构建来验证 AcmeAir tests 作业是否触发 AcmeAir-Chef 作业。

用于指示主题类型的图标 概念主题

文件名:video_transcript_dev_ops_demo.html