Deploy Aplikasi Spring Boot dan Java 11 Ke Openshift

Intro

Openshift adalah salah satu product dari Red Hat yang merupakan enterprise version dari kubernetes, dan biasanya digunakan untuk mendukung pengembangan dan deployment software secara cepat (agile).

Salah satu alasan kenapa Openshift bisa mendukung metode pengembangan software secara agile, yaitu karena Openshift memiliki beberapa macam metode deployment aplikasi. Salah satunya adalah s2i atau Source to Image. Artinya Software Engineer bisa mendeploy sourcecode mereka ke Openshift secara langsung, dan dalam waktu yang sangat singkat.

How To

Contoh sederhana adalah saya memiliki aplikasi hello-world sederhana, dan saya simpan di github.

https://github.com/edwin/spring-boot-hello-world

Selanjutnya adalah saya define base-image yang akan digunakan untuk menjalankan aplikasi kita. Contoh dibawah ini adalah saya menggunakan OpenJDK 11 dengan RHEL 7 sebagai Operating System.

oc new-app registry.access.redhat.com/openjdk/openjdk-11-rhel7~https://github.com/edwin/spring-boot-hello-world

Command diatas apabila dijalankan akan menghasilkan log seperti dibawah ini,

Setelah deployment berhasil, maka akan terbentuk satu pod didalam Openshift.

pod aplikasi hasil deployment ke Openshift

Dan bisa kita langsung coba di browser,

Hasil deployment

Advance Scenario

Command diatas berguna apabila kita ingin melakukan deployment untuk pertama kalinya. Namun bagaimana apabila kita ada melakukan perubahan code, commit ke git, dan ingin deploy ulang aplikasi kita?

perubahan code
git add .
git commit -m "adding test cases and changing response"
git push

Kita bisa menggunakan perintah dibawah, untuk mentrigger re-build dan re-deployment disisi Openshift.

# tampilkan semua buildconfig kita
oc get bc
# trigger build
oc start-build spring-boot-hello-world
Hasil setelah re-build

Summary

Dibutuhkan waktu kurang dari 1 menit untuk deploy dan re-deploy, dari code yang berada di github ke Openshift, dengan base image yang berisi OpenJDK 11 dan RHEL 7, tanpa perlu setup Dockerfile sama sekali.

--

--

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

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