Living life and Make it Better

life, learn, contribute

Endy Muhardin

Software Developer berdomisili di Jabodetabek, berkutat di lingkungan open source, terutama Java dan Linux.

Memahami Mapping Relasi di Hibernate

Salah satu permasalahan yang sulit dipahami pada saat belajar Hibernate adalah mapping relasi. Oleh karena itu, pada artikel kali ini, kita akan membahas berbagai konsep relasi database, bagaimana cara mappingnya, dan apa konsekuensinya.

Lanjut membaca ...


Setup Continuous Delivery

Pada artikel sebelumnya, kita telah melakukan deployment ke cloud provider Openshift dan Heroku dari komputer lokal kita. Sekarang, kita akan mengotomasi proses deployment ini dengan Travis, sehingga apabila build berjalan sukses, aplikasi akan otomatis dideploy ke server dan bisa diakses seluruh umat manusia.

Lanjut membaca ...


Setup Deployment ke PaaS

Pada artikel sebelumnya, kita telah mengotomasi proses build dari aplikasi kita. Langkah selanjutnya adalah mendeploy aplikasi kita tersebut ke server yang bisa diakses orang banyak, supaya bisa dilakukan testing oleh manusia.

Ada banyak provider server yang bisa digunakan, ada yang berbayar dan ada yang gratisan. Di antara yang gratisan adalah Openshift dan Heroku. Openshift menyediakan tiga aplikasi yang dapat diinstal tanpa bayar. Sedangkan Heroku membatasi aplikasi gratisnya hanya bisa jalan 18 jam sehari.

Paket gratis ini cukup memadai untuk keperluan testing. Sedangkan nanti bila aplikasi kita sudah digunakan di production, kita bisa menggunakan paket berbayar atau sewa server sendiri baik VPS maupun colocation.

Kedua provider ini mendukung deployment menggunakan git push, jadi kita tidak perlu upload file jar atau war berukuran besar. Cukup push saja source code, nanti dia akan melakukan build dan deployment.

Mari kita mulai …

Lanjut membaca ...


Setup Continuous Integration

Pada artikel sebelumnya, kita telah membuat struktur project lengkap dari database sampai ke web. Project tersebut juga telah dilengkapi dengan automated test dan sampel data.

Akan tetapi, di artikel terdahulu tersebut, kita harus menjalankan semua test tersebut melalui command line. Dengan demikian, bila ada programmer yang malas membuat automated test dan menjalankannya, kita tidak bisa mendeteksinya.

Untuk itu, kita akan mengkonfigurasi continuous integration, yaitu suatu scheduler yang memantau repository Git kita, dan menjalankan proses build pada waktu ada update di repository. Dengan demikian, apabila terjadi error, semua anggota tim bisa langsung mendapatkan notifikasi.

Ada beberapa tools untuk menjalankan proses ini. Pada jaman dahulu saya pernah juga menulis artikel tentang penggunaan CruiseControl dan Luntbuild. Tapi itu artikel jadul sekali, yang populer pada jaman sekarang adalah Travis dan Jenkins

Lanjut membaca ...


Setup Project Baru

Bila kita ingin memulai pembuatan suatu aplikasi, tentu ada hal-hal yang harus dipersiapkan dulu agar tim bisa bekerja dengan baik. Berikut adalah checklist hal-hal yang biasa saya siapkan sebelum project dimulai.

  • Membuat Repository Git
  • Membuat struktur file dan folder project
  • Membuat satu flow utuh dari database sampai ke tampilan
  • Membuat contoh automated test lengkap dengan sample datanya
  • Setup continuous integration agar aplikasi dites secara otomatis dan berkala
  • Setup continuous deployment agar setelah lulus tes otomatis, aplikasi langsung dideploy dan siap dites oleh tester

Karena langkahnya cukup banyak, maka artikel ini kita bagi menjadi beberapa bagian:

Kita mulai dengan Setup Project

Lanjut membaca ...