2.5. 将 JBoss EAP Source-to-Image(S2I)应用部署到 OpenShift
导入镜像和模板后,您可以将应用部署到 OpenShift。
先决条件
可选 :模板可以为多个模板参数指定默认值,您可能需要覆盖某些或全部默认值。要查看模板信息,包括参数列表和任何默认值,请使用 oc describe template TEMPLATE_NAME
命令。
流程
创建一个新的 OpenShift 应用,以使用 JBoss EAP 进行 OpenShift 镜像和 Java 应用的源代码。您可以将提供的 JBoss EAP 用于 S2I 构建的 OpenShift 模板之一。您也可以选择置备修剪的服务器。
例如,若要使用 JDK 8 构建器镜像部署
kitchensink
Quickstart,请输入以下命令在eap-demo
项目中使用eap74-basic-s2i
模板,在 准备 OpenShift for Application Deployment 中,使用 kitchensink 源代码在 GitHub 上进行kitchensink
源代码:这个快速入门不支持修剪功能。oc new-app --template=eap74-basic-s2i \ 1 -p IMAGE_STREAM_NAMESPACE=eap-demo \ 2 -p EAP_IMAGE_NAME=jboss-eap74-openjdk8-openshift:7.4.0 \ 3 -p EAP_RUNTIME_IMAGE_NAME=jboss-eap74-openjdk8-runtime-openshift:7.4.0 \ 4 -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts \ 5 -p SOURCE_REPOSITORY_REF=7.4.x \ 6 -p CONTEXT_DIR=kitchensink 7
再如,要使用 JDK 11 运行时镜像部署
helloworld-html5
quickstart,并修剪 JBoss EAP 以仅包含jaxrs-server
层,请输入以下命令。该命令使用eap-demo
项目中的eap74-basic-s2i
模板,在 准备 OpenShift for Application Deployment 中创建,使用 GitHub 上的helloworld-html5
源代码。oc new-app --template=eap74-basic-s2i \ 1 -p IMAGE_STREAM_NAMESPACE=eap-demo \ 2 -p EAP_IMAGE_NAME=jboss-eap74-openjdk11-openshift:7.4.0 \ 3 -p EAP_RUNTIME_IMAGE_NAME=jboss-eap74-openjdk11-runtime-openshift:7.4.0 \ 4 -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts \ 5 -p SOURCE_REPOSITORY_REF=7.4.x \ 6 -p GALLEON_PROVISION_LAYERS=jaxrs-server \ 7 -p CONTEXT_DIR=helloworld-html5 8
注意在创建新的 OpenShift 应用时,您可能还需要配置环境变量。
例如,如果您使用 HTTPS 模板,如
eap74-https-s2i
,您必须指定所需的 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