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

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

前提条件

オプション: テンプレートは、多くのテンプレートパラメーターにデフォルト値を指定でき、一部またはすべてのデフォルトをオーバーライドする必要がある場合があります。パラメーターのリストやデフォルト値などのテンプレートの情報を表示するには、コマンド 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 プロジェクトに eap74-basic-s2i テンプレートを使用します。このクイックスタートはトリム機能に対応していません。

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

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

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

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

    たとえば、eap74-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