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 SPNEGO
Server https://xxxxxx:6443
kubernetes v1.16.2
Openshift 4.3.3

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
Log console hasil deployment

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/

--

--

Muhammad Edwin
Development using RedHat Product. (This is an Unofficial Blog)

A RedHatter and Digital Nomad, with Jeans, Sneakers, Laptop and Coffees, anytime — anywhere.