Deploy Aplikasi Spring Boot dan Java 11 ke Openshift 4 Menggunakan Fabric8 Maven Plugin
Intro
Ada banyak tools yang berguna untuk melakukan deployment aplikasi java kita ke Openshift, salah satunya adalah Fabric8. Kelebihan dari menggunakan Fabric8 adalah bisa di-embed didalam pom.xml yang membuat deployment bisa di-eksekusi programmatically lewat maven command.
Untuk demo kali ini saya coba menggunakan Fabric8 untuk deploy aplikasi spring boot sederhana, diatas OpenJDK 11 dan Openshift 4.
Versi Openshift Client yang digunakan adalah,
> oc version
oc v3.11.0+0cbc58b
kubernetes v1.11.0+d4cacc0
features: Basic-Auth SSPI Kerberos SPNEGOServer https://xxxxxx:6443
kubernetes v1.16.2
Code
Pada dasarnya kita hanya perlu embed Fabric8 Maven Plugin kedalam pom.xml kita,
Untuk contoh diatas, saya menggunakan base image openjdk11:latest
yang saya import dari Red Hat Registry.
oc import-image project01/openjdk-11 --from=registry.access.redhat.com/ubi8/openjdk-11 --confirm
Kemudian run mvn command ini untuk melakukan deployment ke Openshift,
mvn clean package fabric8:deploy -Pfabric8
Akan terlihat log deployment di Maven console,
[INFO] --- fabric8-maven-plugin:4.4.1:build (default) @ HelloWorldFabric8 ---
[INFO] F8: Running in OpenShift mode
[INFO] F8: Using OpenShift build with strategy S2I
[INFO] F8: Running generator spring-boot
[INFO] F8: spring-boot: Using ImageStreamTag 'openjdk-11:latest' from namespace 'project01' as builder image
[INFO] Copying files to .............[INFO] F8: Creating BuildServiceConfig helloworldfabric8-s2i for Source build
[INFO] F8: Creating ImageStream helloworldfabric8
[INFO] F8: Starting Build helloworldfabric8-s2i
Hasilnya adalah aplikasi terdeploy dengan sukses di Openshift,
oc get po -n project01
So simple kan, deployment ga sampai 2 menit :D
Summary
Fabric8 maven plugin berguna apabila kita ingin melakukan a quick deployment ke Openshift environment. Menyediakan suatu library yang highly costumizable dan bisa digunakan juga untuk melakukan deployment ke Kubernetes biasa.
Untuk lebih detailnya, bisa mengakses url dibawah ini,
https://maven.fabric8.io/