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.
Dan bisa kita langsung coba di browser,
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?
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
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.