第 11 章 为 JBoss EAP 镜像开发应用程序
要在 JBoss EAP 上开发 Fuse 应用程序,替代方案是使用 S2I 源工作流为带有 EAP 的 Red Hat Camel CDI 创建 OpenShift 项目。
先决条件
- 确保 OpenShift 正常运行,并且 OpenShift 中已安装了 Fuse 镜像流。请参阅管理员入门。
- 确保为 fuse 配置 Maven 存储库,请参阅配置 Maven 存储库。
11.1. 使用 S2I 源工作流创建 JBoss EAP 项目
要在 JBoss EAP 上开发 Fuse 应用程序,替代方案是使用 S2I 源工作流为带有 EAP 的 Red Hat Camel CDI 创建 OpenShift 项目。
流程
将
view
角色添加到 default 服务帐户以启用集群。这会授予用户对default
服务帐户的view
访问权限。每个项目都需要服务帐户来运行构建、部署和其他容器集。在 shell 提示符中输入以下oc
客户端命令:oc login -u developer -p developer oc policy add-role-to-user view -z default
-
在浏览器中打开 OpenShift 控制台(https://OPENSHIFT_IP_ADDR:8443,将
OPENSHIFT_IP_ADDR
替换为 CDK 中显示的 IP 地址),并使用您的凭据(例如,使用用户名developer
和密码developer
)登录控制台。 在 Catalog 搜索字段中,输入
Red Hat Fuse 7.4 Camel CDI,使用 EAP
作为搜索字符串,再选择 带有 EAP 模板的 Red Hat Fuse 7.4 Camel CDI。- 模板向导的 Information 步骤将打开。点击 Next。
模板向导的 Configuration 步骤将打开。从 Add to Project 下拉菜单,选择 My Project。
注意或者,如果您想为本例创建一个新项目,请从 Add to Project 下拉菜单中选择 Create Project。然后会显示一个 Project Name 字段来填写新项目的名称。
您可以接受 Configuration 步骤中其余设置的默认值。点 Create。
注意如果要修改应用程序代码(而不是像运行 Quickstart 一样),则需要分叉原始 Quickstart Git 存储库,并填写 Git Repository URL 和 Git Reference 字段中的适当值。
- 模板向导的 Results 步骤将打开。单击 Close。
- 在右侧 My Projects 窗格中,单击 My Project。My Project 项目的 Overview 选项卡将打开,显示 s2i-fuse74-eap-camel-cdi 应用。
单击 s2i-fuse74-eap-camel-cdi 部署左侧的箭头,以展开并查看此部署的详细信息,如下所示。
在此视图中,您可以看到构建日志。如果构建因任何原因而失败,构建日志可帮助您诊断问题。
注意构建可能需要几分钟才能完成,因为必须从远程 Maven 存储库下载大量依赖项。为加快构建时间,我们建议您在本地网络上部署 Nexus 服务器。
如果构建成功完成,pod 图标会显示为运行 1 Pod 的蓝色圆圈。
要打开应用程序,请点击应用程序详情上方显示的链接,其格式为
http://s2i-fuse74-eap-camel-cdi-myproject.IP_ADDRESS.nip.io/
。在您的浏览器中显示类似如下的信息:Hello world from 172.17.0.3
您还可以使用 URL 中的
name
参数指定一个名称。例如,如果您在浏览器中输入 URLhttp://s2i-fuse74-eap-camel-cdi-myproject.IP_ADDRESS.nip.io/?name=jdoe
,您会看到响应:Hello jdoe from 172.17.0.3
-
单击左侧导航栏上的 Overview,以返回到
My Project
命名空间中的应用程序概述。要关闭正在运行的 pod,点 pod 图标旁的向下箭头 。当对话框提示您输入问题 Scale down deployment s2i-fuse74-eap-camel-cdi-1? 时,单击 Scale Down。 (可选) 如果您使用 CDK,您可以通过返回到 shell 提示符并输入以下命令来完全关闭虚拟 OpenShift 服务器:
minishift stop