2.5. JBoss EAP S2I (Source-to-Image) アプリケーションの OpenShift へのデプロイ

イメージおよびテンプレートのインポート後に、アプリケーションを OpenShift にデプロイできます。

OpenJDK 8 および Eclipse OpenJ9 のテンプレート名は接頭辞 eap73-* を使用します (例: eap73-https-s2i)。OpenJDK 11 テンプレート名は接頭辞 eap73-openjdk11-* を使用します (例: eap73-openjdk11-https-s2i)。

要件

オプション: テンプレートは、多くのテンプレートパラメーターにデフォルト値を指定でき、一部またはすべてのデフォルトをオーバーライドする必要がある場合があります。パラメーターのリストやデフォルト値などのテンプレートの情報を表示するには、コマンド oc describe template TEMPLATE_NAME を使用します。

手順

  1. JBoss EAP for OpenShift イメージと Java アプリケーションのソースコードを使用して、新しい OpenShift アプリケーションを作成します。S2I ビルド用に提供される JBoss EAP for OpenShift テンプレートのいずれかを使用できます。トリムされたサーバーのプロビジョニングも選択できます。

    たとえば、JDK 8 ビルダーイメージを使用して kitchensink クイックスタートをディプロイするには、アプリケーションのデプロイメントに向けた OpenShift の準備 で GitHub の kitchensink ソースコードを使用して作成した eap-demo プロジェクトに eap73-basic-s2i テンプレートを使用します。このクイックスタートはトリム機能に対応していません。

    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
    1
    使用するテンプレート。eap73 接頭辞は JDK 8 テンプレートを指定します。
    2
    最新のイメージとテンプレートは、プロジェクトの namespace にインポートされたため、イメージストリームが見つかる場所の namespace を指定する必要があります。通常はプロジェクトの名前になります。
    3
    アプリケーションのソースコードが含まれるリポジトリーの URL。
    4
    ソースコードに使用する Git リポジトリー参照。Git ブランチやタグ参照にすることができます。
    5
    ビルドするソースリポジトリー内のディレクトリー。
    注記

    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 ランタイムイメージを使用し、JBoss EAP をトリムして helloworld-html5 クイックスタートをデプロイするには jaxrs-server レイヤーのみを含め、以下のコマンドを入力します。このコマンドは、GitHub の helloworld-html5 ソースコードとともに アプリケーションのデプロイメントに向けた OpenShift の準備 で作成した、eap-demo プロジェクトで eap73-openjdk11-basic-s2i テンプレートを使用します。

    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
    1
    使用するテンプレート。eap73-openjdk11 接頭辞は、JDK 11 テンプレートを指定します。
    2
    最新のイメージとテンプレートは、プロジェクトの namespace にインポートされたため、イメージストリームが見つかる場所の namespace を指定する必要があります。通常はプロジェクトの名前になります。
    3
    アプリケーションのソースコードが含まれるリポジトリーの URL。
    4
    ソースコードに使用する Git リポジトリー参照。Git ブランチやタグ参照にすることができます。
    5
    jaxrs-server レイヤーのみを持つトリムされたサーバーをプロビジョニングします。
    6
    ビルドするソースリポジトリー内のディレクトリー。
    注記

    新しい OpenShift アプリケーションを作成するときに、環境変数を設定 することもあります。

    たとえば、eap73-https-s2i などの HTTPS テンプレートを使用している場合は、必要な HTTPS 環境変数 である HTTPS_NAMEHTTPS_PASSWORD、および HTTPS_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 クイックスタートでは、以下のコマンドで Maven ビルドの進捗を表示します。

    $ oc logs -f buildconfig/eap-app