Jalankan perintah di bawah ini di terminal:
bash
mvn archetype:generate -DgroupId=com.example -DartifactId=demo-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
"com.example" bisa kamu ganti sesuai nama package yang kamu inginkan.
demo-app adalah nama folder/proyek kamu.
Masuk ke Folder Project
bash
cd demo-app
Struktur Project
Setelah perintah di atas, struktur project akan seperti ini:
Menambahkan File Servlet Java
Secara default, folder src/main/java masih kosong
Jika ingin menambahkan servlet:
Buat folder: src/main/java/com/example
Buat file baru: HelloServlet.java
Isi file
Daftarkan Servlet di web.xml
Edit file src/main/webapp/WEB-INF/web.xml, ubah semua seperti berikut:
Edit file pom.xml
Ubah dan ikuti seperti berikut:
Build Project
Jalankan
bash
mvn clean package
Hasil Build Success
Buat dockerfile, build and push repository ke docker hub
Isi file
Build dockerfile
bash
docker build -t abdaziz/demo-app-web-java-jboss74:v1 .
Sebelum push, lakukan login docker terlebih dahulu
bash
docker login
Masukkan username dan password Docker Hub kamu
Push image ke docker hub
bash
docker push abdaziz/demo-app-web-java-jboss74:v1
Tunggu proses upload selesai.
Deploy ke Openshift
Download OpenShift CLI => https://console.redhat.com/openshift/downloads
Install OpenShift CLI sesuai dengan sistem operasi kamu
Cek instalasi
bash
oc version
Login openshift
bash
oc login -u {username} -p {password} --server={ip}:{port} --insecure-skip-tls-verify
Buat project baru
bash
oc new-project {nama-project}
Set project yang digunakan
bash
oc project {nama-project}
Deploy aplikasi
bash
oc new-app docker.io/abdaziz/demo-app-web-java-jboss74:v1 --name=demo-app-web-java-jboss74-v1
Expose Deployment Sebagai Service
bash
oc expose deployment/demo-app-web-java-jboss74-v1 --port=8080 --name=demo-app-web-java-jboss74-v1-service
Expose Service Sebagai Route
bash
oc expose service/demo-app-web-java-jboss74-v1-service --name=demo-app-web-java-jboss74-v1-route
Cek Route
bash
oc get route
Update Route
bash
oc patch route demo-app-web-java-jboss74-v1-route --type=merge -p '{"spec": {"tls": {"termination": "edge","insecureEdgeTerminationPolicy": "Redirect"}}}'
Selesai.
"Sebaik-baik blog adalah yang paling bermanfaat bagi pembacanya."
0 Comments