2.5. JBoss EAP S2I (Source-to-Image) アプリケーションの OpenShift へのデプロイ
イメージおよびテンプレートのインポート後に、アプリケーションを OpenShift にデプロイできます。
前提条件
オプション: テンプレートは、多くのテンプレートパラメーターにデフォルト値を指定でき、一部またはすべてのデフォルトをオーバーライドする必要がある場合があります。パラメーターのリストやデフォルト値などのテンプレートの情報を表示するには、コマンド oc describe template TEMPLATE_NAME を使用します。
手順
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=kitchensink7 別の例として、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-html58 - 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_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クイックスタートでは、以下のコマンドで Maven ビルドの進捗を表示します。$ oc logs -f buildconfig/eap-app