第8章 Red Hat OpenShift Container Platform での SpringBoot ビジネスアプリケーションの実行
Red Hat OpenShift Container Platform で Red Hat Decision Manager SpringBoot ビジネスアプリケーションを実行するには、イミュータブルイメージを作成し、このイメージを Red Hat OpenShift Container Platform 環境にプッシュします。
前提条件
- Red Hat Decision Manager Spring Boot ビジネスアプリケーションを開発済みである。アプリケーションの作成方法は、2章ビジネスアプリケーションの作成 を参照してください。
- 必要に応じて、アプリケーションに Spring セキュリティーを設定している。Spring セキュリティーの設定方法は、4章Red Hat Decision Manager での Spring Security を参照してください。
- ビジネスアプリケーションに必要な追加の Spring 設定を完了している。ビジネスアプリケーションの Spring 設定に関する方法については、5章Red Hat Decision Manager Spring Boot の設定 を参照してください。
- ビジネスアプリケーションに、JAR ファイルを 1 つ作成している。SpringBoot ビジネスアプリケーションに単一の JAR ファイルを作成する方法は、6章自己完結型 Red Hat Decision Manager Spring Boot JAR ファイルの作成 を参照してください。
-
oc
コマンドを使用して Red Hat OpenShift Container Platform 環境にログインしており、必要なプロジェクトがアクティブである。
手順
ビジネスアプリケーションプロジェクトディレクトリー外部で、以下のサブディレクトリーを含めて
ocp-image
ディレクトリーを作成します。ocp-image |--/root |--/opt |-- /spring-service
ocp-image |--/root |--/opt |-- /spring-service
Copy to Clipboard Copied! ビジネスアプリケーションの単一の JAR ファイルを
root/opt/spring-service
サブディレクトリーにコピーします。以下に例を示します。cd ../business-application-service cp target/business-application-service-1.0-SNAPSHOT.jar ../ocp-image/root/opt/spring-service/
cd ../business-application-service cp target/business-application-service-1.0-SNAPSHOT.jar ../ocp-image/root/opt/spring-service/
Copy to Clipboard Copied! ocp-image
ディレクトリーで、以下の内容を含むDockerfile
ファイルを作成します。FROM registry.access.redhat.com/ubi8/openjdk-11:latest COPY root / EXPOSE 8090 WORKDIR /opt/spring-service/ CMD ["sh","-c", "java ${JAVA_OPTIONS} -Dorg.kie.server.mode=PRODUCTION -jar /opt/spring-service/<FILENAME>.jar"]
FROM registry.access.redhat.com/ubi8/openjdk-11:latest COPY root / EXPOSE 8090 WORKDIR /opt/spring-service/ CMD ["sh","-c", "java ${JAVA_OPTIONS} -Dorg.kie.server.mode=PRODUCTION -jar /opt/spring-service/<FILENAME>.jar"]
Copy to Clipboard Copied! <FILENAME>.jar
は、ビジネスアプリケーションの単一の JAR ファイルの名前に置き換えます。初期イメージをビルドし、Red Hat OpenShift Container Platform 環境にデプロイするには、以下の手順を実行します。
イメージをビルドするには、
ocp-image
ディレクトリーで以下のコマンドを実行します。oc new-build --binary --strategy=docker --name openshift-kie-springboot oc start-build openshift-kie-springboot --from-dir=. --follow
oc new-build --binary --strategy=docker --name openshift-kie-springboot oc start-build openshift-kie-springboot --from-dir=. --follow
Copy to Clipboard Copied! オプション L:
openshift-kie-springboot
は、これらのコマンドと後続の全コマンドのカスタムアプリケーションの名前に置き換えます。Red Hat OpenShift Container Platform 環境でイメージをデプロイするには、以下のコマンドを実行します。
oc new-app openshift-kie-springboot
oc new-app openshift-kie-springboot
Copy to Clipboard Copied! オプション: イメージのルートを公開するには、以下のコマンドを実行します。
oc expose service/openshift-kie-springboot --port=8090
oc expose service/openshift-kie-springboot --port=8090
Copy to Clipboard Copied!
新しいバージョンの Red Hat Decision Manager または Spring Boot の JAR ファイルをビルドした場合など、すでにイメージをビルドし、更新する必要がある場合には、
ocp-image
ディレクトリーで以下のコマンドを実行します。oc start-build openshift-kie-springboot --from-dir=. --follow
oc start-build openshift-kie-springboot --from-dir=. --follow
Copy to Clipboard Copied!