2.4. 将 JBoss EAP Source-to-Image(S2I)应用部署到 OpenShift
在导入镜像和模板后,您可以将应用部署到 OpenShift。
OpenJDK 8 和 Eclipse OpenJ9 模板名称使用前缀 eap73-*
;例如,eap73-https-s2i
。OpenJDK 11 模板名称使用前缀 eap73-openjdk11-*
;例如,eap73-openjdk11-https-s2i
。
先决条件
可选: 模板可以为许多模板参数指定默认值,您可能需要覆盖部分或全部默认值。要查看模板信息,包括参数列表和任何默认值,请使用命令 oc describe template TEMPLATE_NAME
。
流程
创建一个新的 OpenShift 应用,它将 JBoss EAP 用于 OpenShift 镜像和您的 Java 应用的源代码。您可以将其中一个提供的 JBoss EAP 用于 OpenShift 模板,以进行 S2I 构建。您也可以选择调配修剪的服务器。
例如,若要使用 JDK 8 构建器镜像部署
kitchensink
快速启动,请输入以下命令在 eap-demo 项目中使用
eap73-basic-s2i
模板,在准备 OpenShift for 应用部署中创建的 eap chensink
源代码在 GitHub 上:这个快速入门不支持修剪功能。oc new-app --template=eap73-basic-s2i \1 -p IMAGE_STREAM_NAMESPACE=eap-demo \2 -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts \3 -p SOURCE_REPOSITORY_REF=7.3.x-openshift \4 -p CONTEXT_DIR=kitchensink5
注意将此命令的修改版本用于 IBM Z 和 IBM Power Systems 上的 Eclipse OpenJ9 构建器镜像。在 命令中包含下列镜像名称参数:JDK 环境将这些参数使用默认值。
- EAP_IMAGE_NAME=jboss-eap-7-openj9-11-openshift \
- EAP_RUNTIME_IMAGE_NAME=jboss-eap-7-openj9-11-runtime-openshift \
再举一个例子,若要使用 JDK 11 运行时镜像部署
helloworld-html5
快速启动并修剪 JBoss EAP 以仅包含jaxrs-server
层,请输入以下命令:命令使用 eap-demo
在 用于应用部署的准备 OpenShift 中创建)和 GitHub 上的项目中的 eap73-openjdk11-basic-s2i
模板(helloworld-html5
源代码。oc new-app --template=eap73-openjdk11-basic-s2i \1 -p IMAGE_STREAM_NAMESPACE=eap-demo \2 -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts \3 -p SOURCE_REPOSITORY_REF=7.3.x-openshift \4 -p GALLEON_PROVISION_LAYERS=jaxrs-server \5 -p CONTEXT_DIR=helloworld-html56
注意在创建新的 OpenShift 应用时,您可能还想配置环境变量。
例如,如果您使用
eap73-https-s2i
等 HTTPS 模板,您必须指定所需的 HTTPS 环境变量 HTTPS_NAME、HTTPS_
PASSWORD 和
,才能匹配您的密钥存储详细信息。HTTPS_
KEYSTORE注意如果模板使用 AMQ,则必须包含带有适当值的
AMQ_IMAGE_NAME
参数。如果模板使用 SSO,您必须包含带有适当值的
SSO_IMAGE_NAME
参数。检索构建配置的名称:
$ oc get bc -o name
使用上一步中的构建配置名称来查看构建的 Maven 进度。
$ oc logs -f buildconfig/BUILD_CONFIG_NAME
例如,对于
kitchensink
quickstart,以下命令显示 Maven 构建的进度:$ oc logs -f buildconfig/eap-app