2.5. 将 JBoss EAP Source-to-Image(S2I)应用部署到 OpenShift

导入镜像和模板后,您可以将应用部署到 OpenShift。

先决条件

可选 :模板可以为多个模板参数指定默认值,您可能需要覆盖某些或全部默认值。要查看模板信息,包括参数列表和任何默认值,请使用 oc describe template TEMPLATE_NAME 命令。

流程

  1. 创建一个新的 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
    1
    要使用的模板。
    2
    最新的镜像流和模板 导入到项目的命名空间,因此您必须指定查找镜像流的命名空间。这通常是项目的名称。
    3
    JDK8 的 EAP 构建器镜像流的名称。
    4
    JDK8 的 EAP 运行时镜像流的名称。
    5
    包含应用源代码的存储库的 URL。
    6
    用于源代码的 Git 存储库引用。这可以是 Git 分支或标签引用。
    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
    1
    要使用的模板。
    2
    最新的镜像流和模板 导入到项目的命名空间,因此您必须指定查找镜像流的命名空间。这通常是项目的名称。
    3
    JDK11 的 EAP 构建器镜像流的名称。
    4
    JDK11 的 EAP 运行时镜像流的名称。
    5
    包含应用源代码的存储库的 URL。
    6
    用于源代码的 Git 存储库引用。这可以是 Git 分支或标签引用。
    7
    仅使用 jaxrs-server 层置备修剪的服务器。
    8
    要构建的源存储库中的目录。
    注意

    在创建新的 OpenShift 应用时,您可能还需要配置环境变量

    例如,如果您使用 HTTPS 模板,如 eap74-https-s2i,您必须指定所需的 HTTPS 环境变量 HTTPS _NAMEHTTPS_PASSWORDHTTPS_KEYSTORE,以匹配密钥存储详情。

    注意

    如果模板使用 AMQ,您必须包括带有适当值的 AMQ_IMAGE_NAME 参数。

    如果模板使用 SSO,则必须包括带有适当值的 SSO_IMAGE_NAME 参数。

  2. 检索构建配置的名称。

    $ oc get bc -o name
  3. 使用上一步中的构建配置的名称,查看构建的 Maven 进度。

    $ oc logs -f buildconfig/BUILD_CONFIG_NAME

    例如,对于 kitchensink Quickstart,以下命令显示了 Maven 构建的进度。

    $ oc logs -f buildconfig/eap-app