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.

Mendeploy Aplikasi dari Gitlab ke VPS

Setelah kita menyiapkan infrastruktur Continuous Delivery dengan Gitlab CI, sekarang kita akan menggunakannya untuk melakukan deployment otomatis ke VPS. Pada artikel terdahulu, kita sudah mendeploy dari Jenkins ke VPS dan juga mendeploy dari Gitlab ke Kubernetes. Nah sekarang, kita akan mendeploy dari Gitlab ke VPS.

Lanjut membaca ...


Instalasi Gitlab Runner Autoscale

Setelah kita berhasil memasang Gitlab CE di Google Cloud Platform, sekarang kita akan lanjutkan untuk memasang Gitlab Runner. Ada satu fitur menarik dari Gitlab Runner ini, yaitu autoscale. Fitur ini memungkinkan kita untuk menghemat biaya sewa VPS di penyedia layanan cloud seperti Digital Ocean, Amazon, Google, dan lainnya. Caranya adalah dengan membuat VPS untuk menjalankan build sesuai kebutuhan. Bila sedang ramai antrian, Gitlab akan membuat banyak VPS. Bila antrian sepi, VPS tersebut akan dihapus sehingga tidak menimbulkan biaya.

Berikut langkah-langkah untuk memasang Gitlab Runner dengan fitur autoscale:

Lanjut membaca ...


Instalasi Gitlab CE di Google Cloud Engine

Jaman sekarang, version control system (VCS) sudah merupakan keharusan dalam proses pembuatan aplikasi. Tanpa VCS, kita tidak bisa bekerja dalam tim dengan baik. Bahkan kerja sendiri saja sulit untuk menerapkan release management yang baik tanpa VCS. Lagipula jaman sekarang VCS gratis. Kita tinggal daftar di Gitlab dan bikin project sebanyak-banyaknya dan mengundang kolaborator se-Indonesia Raya tanpa dikenakan biaya sepeser pun.

Walaupun demikian, buat banyak perusahaan tetap merasa lebih nyaman kalau source codenya tidak dikelola pihak lain. Tidak masalah, karena Gitlab juga menyediakan aplikasinya untuk kita install di server sendiri, atau istilah kerennya on premise. Mari kita coba setup Gitlab Community Edition di Google Cloud Platform. Bahkan Gitlab sudah menyediakan fitur Continuous Integration yang sangat komprehensif.

Dalam rangkaian artikel ini, kita akan memasang Gitlab lengkap dengan Gitlab CI, Runner, lengkap dengan build cache dan docker registry sendiri seperti pada diagram berikut

Diagram Instalasi Gitlab Sekeluarga

Lanjut membaca ...


Membuat Aplikasi yang Cluster Ready

Beberapa tahun yang lalu, kita sudah membahas tentang konsep clustering aplikasi. Ada beberapa konsep dan istilah penting di sana seperti:

  • Dua jenis aplikasi failover
  • Session Affinity atau Sticky/Non-Sticky Session

Kita tidak akan bahas lagi tentang istilah tersebut, silahkan baca artikel terdahulu untuk memahaminya. Pada artikel kali ini, kita akan membahas tentang implementasi konsep tersebut dalam aplikasi kita, sehingga diharapkan pembaca sudah paham artinya.

Memasang aplikasi yang sama di beberapa mesin (baik fisik ataupun virtual) disebut dengan istilah clustering atau replication. Kita akan menggunakan istilah replikasi pada artikel ini.

Contoh kode program dibuat menggunakan Java. Akan tetapi, prinsip-prinsipnya bisa juga diterapkan pada aplikasi yang menggunakan bahasa pemrograman lain.

Lanjut membaca ...


Otomasi Deployment Kubernetes dengan Gitlab CI

Jaman sekarang, solusi Continuous Integration dan Delivery sudah banyak sekali pilihannya. Yang sudah kita bahas diantaranya:

Dan yang belum kita coba diantaranya:

  • CircleCI
  • Bamboo
  • dan mungkin masih banyak lagi yang saya belum dengar

Pada artikel kali ini, kita akan coba GitlabCI.

Lanjut membaca ...