Direcly Deploy Jar File to Openshift
Openshift provides a convenient method for deploying binary Java applications. Other than deploying application’s source code, it can also deploy Jar file directly. For this example, im trying to deploy a Spring Boot and Red Hat Fuse middleware which is located on below repository.
https://github.com/edwin/hello-world-fuse-on-ocp
After we clone it, we can build the repo into Jar file.
$ mvn clean package
It will later on create a Jar file with the name of hello-world-fuse-on-ocp-1.0-SNAPSHOT.jar, which we can deploy to Openshift later on.
Along the way, we can create Openshift BuildConfig by using below command, it will create an Application template using Java8 on UBI8 base image.
$ oc new-build --name=hello-world-fuse-on-ocp \ --binary=true \ --image-stream=openshift/ubi8-openjdk-8:1.10 \ --strategy=source
Next is we can deploy our Jar file using below command,
$ oc start-build hello-world-fuse-on-ocp \ --from-file=hello-world-fuse-on-ocp-1.0-SNAPSHOT.jar \ --follow
And publish it,
$ oc new-app hello-world-fuse-on-ocp $ oc create route edge \ --service=hello-world-fuse-on-ocp
Lets say we have some code changes and we want to build and redeploy the Application, we can just rerun the start-build command, and deploying the latest jar file into Openshift.
$ oc start-build hello-world-fuse-on-ocp \ --from-file=hello-world-fuse-on-ocp-1.1-LATEST-JAR.jar \ --follow