此内容没有您所选择的语言版本。
Chapter 8. Running a SpringBoot business application on Red Hat OpenShift Container Platform
To run your Red Hat Process Automation Manager SpringBoot business application on Red Hat OpenShift Container Platform, create an immutable image and push this image to your Red Hat OpenShift Container Platform environment.
Optionally, you can also use Business Central Monitoring to monitor the execution of business processes in your application.
Prerequisites
- You have developed a Red Hat Process Automation Manager SpringBoot business application. For instructions about creating the application, see Chapter 2, Creating a business application.
- If necessary, you have configured Spring security for the application. For instructions about configuring Spring security, see Chapter 4, Spring Security with Red Hat Process Automation Manager.
- You have completed any necessary additional Spring configuration for the business application. For instructions about Spring configuration for your business application, see Chapter 5, Red Hat Process Automation Manager Spring Boot configuration.
- You created a single JAR file for the business application. For instructions about creating a single JAR file for your SpringBoot business application, see Chapter 6, Creating a self-contained Red Hat Process Automation Manager Spring Boot JAR file.
-
You are logged on to your Red Hat OpenShift Container Platform environment using the
oc
command and the required project is active. If you want to use Business Central Monitoring, you have installed Business Central Monitoring using the operator. Use the same namespace to deploy Business Central Monitoring and your business application.
ImportantYou must configure Business Central Monitoring to use the controller startup strategy. To enable the controller strategy on Business Central Monitoring, in the Console tab of the operator configuration, add a
KIE_SERVER_CONTROLLER_OPENSHIFT_ENABLED
environment variable and set it tofalse
.
Procedure
Outside the business application project directories, create an
ocp-image
directory with the following subdirectories:ocp-image |--/root |--/opt |-- /spring-service
Copy the single JAR file for your business application into the
root/opt/spring-service
subdirectory. For example:cd ../business-application-service cp target/business-application-service-1.0-SNAPSHOT.jar ../ocp-image/root/opt/spring-service/
In the
ocp-image
directory, create aDockerfile
file with the following content: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"]
Replace
<FILENAME>.jar
with the name of the single JAR file for your business application.Alternatively, if you want to configure communication with Business Central Monitoring, use the following content for
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.location=${KIESERVER_LOCATION} -Dorg.kie.server.controller=${KIESERVER_CONTROLLERS} -Dorg.kie.server.controller.user=${KIE_SERVER_CONTROLLER_USER} -Dorg.kie.server.controller.pwd=${KIE_SERVER_CONTROLLER_PWD} -Dorg.kie.server.mode=PRODUCTION -jar /opt/spring-service/<FILENAME>.jar"]
Replace
<FILENAME>.jar
with the name of the single JAR file for your business application.To build the initial image and deploy it in your Red Hat OpenShift Container Platform environment, complete the following steps:
To build the image, run the following commands in the
ocp-image
directory:oc new-build --binary --strategy=docker --name openshift-kie-springboot oc start-build openshift-kie-springboot --from-dir=. --follow
Optional: replace
openshift-kie-springboot
with a custom application name in these commands and all subsequent commands.To deploy the image in the Red Hat OpenShift Container Platform environment, run the following command:
oc new-app openshift-kie-springboot
Alternatively, to deploy the image and configure it to communicate with Business Central Monitoring, run the following command:
oc new-app openshift-kie-springboot -e KIESERVER_LOCATION=http://<LOCATION>:<PORT>/rest/server -e KIESERVER_CONTROLLERS=ws://<BC-HOSTNAME>:<BC-PORT>/websocket/controller -e KIE_SERVER_CONTROLLER_USER=USER -e KIE_SERVER_CONTROLLER_PWD=PASSWORD
In this command, replace the following values:
-
<LOCATION>
with the fully qualified host name for accessing your service. Business Central Monitoring accesses the service to retrieve process information and displays a URL for the service with this host name -
<PORT>
with the port for accessing your service, for example,8090
-
<BC-HOSTNAME>
with the host name for accessing the Business Central Monitoring instance. If your application is deployed in the same project/namespace as the Business Central Monitoring instance, use the service name for Business Central Monitoring, for example,myapp-rhpamcentrmon
. Otherwise, you can use use the fully qualified host name of a route for the Business Central Monitoring instance. -
<BC-PORT>
with the port of the Business Central Monitoring instance, for example,8080
-
<USER>
with the username of a user configured on the Business Central Monitoring instance <PASSWORD>
with the password of the user configured on the Business Central Monitoring instanceNoteThis configuration uses unsecured HTTP communication for your service. If you configure your Spring Boot business application with a valid SSL certificate, you can replace
http:
withhttps:
to use secure HTTPS communication. For more information about configuring SSL on Spring Boot, see Spring Boot documentation.NoteIf you want to view process information from Business Central Monitoring, you must ensure that the user that is logged into Business Central Monitoring can also be authenticated with your service using the same password.
-
Optional: To expose the route for the image, run the following command:
oc expose service/openshift-kie-springboot --port=8090
If you already built and deployed the image and need to update it, for example if you built the JAR file for a new version of Red Hat Process Automation Manager or of Spring Boot, run the following command in the
ocp-image
directory:oc start-build openshift-kie-springboot --from-dir=. --follow