3.2. 将应用程序部署到 OpenShift Container Platform
您可以使用 Source-to-image (S2I)工作流将应用程序部署到 OpenShift Container Platform 上的 JBoss EAP。S2I 工作流从 Git 存储库获取源代码,并将它注入到基于您要使用的语言和框架的容器中。在 S2I 工作流完成后,会编译 src 代码,应用将被打包并部署到 JBoss EAP 服务器。
3.2.1. 准备应用程序以便在 OpenShift Container Platform 上部署 复制链接链接已复制到粘贴板!
OpenShift Container Platform 使用托管在 Git 存储库中的应用程序。要在 OpenShift 上部署您的应用,您必须首先将应用推送到 Git 存储库。之后,您可以使用 JBoss EAP helm chart 来配置应用程序部署。
先决条件
您已创建了应用程序。
如需更多信息,请参阅创建 Hello World servlet。
- 您已创建了 Git 存储库。
流程
如果应用程序还没有位于其中,请将应用程序移到本地 Git 存储库。
mv -r helloworld/ <your_git_repo>
$ mv -r helloworld/ <your_git_repo>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
pom.xml配置文件中定义以下属性:<properties> ... <version.plugin.eap>1.0.0.Final-redhat-00013</version.plugin.eap> </properties><properties> ... <version.plugin.eap>1.0.0.Final-redhat-00013</version.plugin.eap>1 </properties>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<version.plugin.eap> 定义 JBoss EAP Maven 插件的版本。
将 JBoss EAP maven 插件添加到 <
pluginManagement>,在 <; 部分。project> 部分的 <build>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
pom.xml配置文件中创建配置文件"openshift"。此配置集定义了在 OpenShift Container Platform 上部署所需的插件、功能软件包和层。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
wildfly-maven-plugin是一个 JBoss EAP 插件,用于在 OpenShift Container Platform 上部署应用程序置备 JBoss EAP 实例。- 2
功能包定义了功能包(包含用于动态置备服务器的功能的文件)。在这种情况下,我们需要 feature-packsorg.wildfly:wildfly-galleon-pack和org.wildfly.cloud:wildfly-cloud-galleon-pack。- 3
层定义要在调配的服务器中包含的层(来自配置的功能包)。每个层标识了一个或多个可以自行安装的服务器功能,或者与其他层结合使用。在我们的情形中,我们选择了cloud-server层,该层仅调配 JBoss EAP 的基本功能,非常适合云服务器。- 4
<name>ROOT.war</name> :定义应用程序 web 归档(WAR)的结果名称。如果指定了ROOT.war,则应用程序会在服务器的 root 路径上部署,否则会在 <name/>相对路径上部署。
验证应用程序是否编译。
mvn package -Popenshift
$ mvn package -PopenshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 将更改推送到您的存储库。
3.2.2. 使用 Helm 将应用程序部署到 OpenShift 上的 JBoss EAP 复制链接链接已复制到粘贴板!
使用 JBoss EAP Helm Chart 使用 Helm 配置和部署应用程序到 OpenShift 上的 JBoss EAP。
先决条件
您已准备了应用程序以在 OpenShift Container Platform 上部署。
您已在 OpenShift Container Platform 中创建了一个项目。
如需更多信息,请参阅使用项目。
已安装 OpenShift CLI (
oc)如需更多信息 ,请参阅安装 OpenShift CLI。
从您的机器登录到 OpenShift Container Platform。
如需更多信息,请参阅 OpenShift CLI 登录。
已安装 helm。
如需更多信息,请参阅安装 Helm。
流程
在应用程序 root directoy 中创建一个名为
charts的目录并导航到它。应用根目录是包含pom.xml配置文件的一个目录。mkdir charts; cd charts
$ mkdir charts; cd chartsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建文件
helm.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Helm 中配置 JBoss EAP 仓库。
如果您之前没有将 JBoss EAP 仓库添加到 Helm,请添加它。
helm repo add jboss-eap https://jbossas.github.io/eap-charts/
$ helm repo add jboss-eap https://jbossas.github.io/eap-charts/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您已将 JBoss EAP 存储库添加到 Helm,请更新它。
helm repo update jboss-eap
$ helm repo update jboss-eapCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 helm 部署应用程序。
helm install helloworld -f helm.yaml jboss-eap/eap8
$ helm install helloworld -f helm.yaml jboss-eap/eap8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 完成部署可能需要几分钟时间。
验证
获取指向部署的路由的 URL。
APPLICATION_URL=https://$(oc get route helloworld --template='{{ .spec.host }}') && echo "" && echo "Application URL: $APPLICATION_URL"$ APPLICATION_URL=https://$(oc get route helloworld --template='{{ .spec.host }}') && echo "" && echo "Application URL: $APPLICATION_URL"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在浏览器中导航至"应用程序 URL"。
您会在路径 "/HelloWorld" 重定向到 servlet,您会收到以下消息:
Hello World!
Hello World!Copy to Clipboard Copied! Toggle word wrap Toggle overflow