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 Jenkins ke VPS

Pada artikel sebelumnya, kita telah membahas tentang cara mendeploy dari Jenkins ke layanan PaaS, seperti Pivotal Web Services. Deployment ke PaaS relatif lebih mudah, karena platform (Java SDK, database MySQL) sudah tersedia, sehingga kita tinggal mengunggah dan menjalankan aplikasi saja.

Kali ini, kita akan coba deploy ke layanan IaaS yang lebih sedikit fiturnya. Kita hanya mendapatkan server yang baru terinstal sistem operasi saja. Sehingga kita harus mempersiapkan segala sesuatu yang dibutuhkan oleh aplikasi kita supaya berjalan dengan baik.

Sebagai ilustrasi, saya akan gunakan VPS di Digital Ocean yang relatif mudah digunakan dan terjangkau harganya. Penagihannya juga dihitung perjam, sehingga kalau para pembaca ingin mencoba, bisa langsung praktek dan segera destroy setelah selesai agar tagihan tidak besar. Kita bisa gunakan paket memori 1GB dengan harga $0.015/jam.

Lanjut membaca ...


Mendeploy Aplikasi dari Jenkins ke Pivotal Web Service

Setelah Jenkins berhasil melakukan proses build tiap kali ada push, selanjutnya kita ingin meneruskan proses deployment apabila proses build berjalan sukses.

Deployment kali ini akan kita lakukan ke layanan cloud milik Pivotal, yaitu Pivotal Web Service. Saya lebih suka deploy ke layanan PaaS dimana environment sudah tersedia siap pakai dibandingkan dengan IaaS dimana kita harus setup sendiri Java, Maven, MySQL, dan aplikasi pendukung lainnya. Dengan demikian, kita bisa berfokus pada penulisan source code, tidak perlu pusing memikirkan infrastruktur. Ini terutama sangat memudahkan bagi tim/perusahaan dengan resource terbatas (baca: tidak mampu menggaji sysadmin ;p)

Pada saat artikel ini ditulis, harga Pivotal paling murah dibanding layanan PaaS lain seperti Heroku. Oleh karena itu, kita akan melakukan deployment ke Pivotal.

Ada beberapa langkah dalam menyambungkan Jenkins ke Pivotal :

  1. Memasukkan credentials (username/password) Pivotal ke Jenkins.
  2. Menambahkan post-build action di Jenkins untuk mendeploy aplikasi apabila proses build berjalan sukses.
  3. Membuat file konfigurasi Pivotal Cloud Foundry, yaitu manifest.yml dalam project kita.
  4. Menambahkan konfigurator otomatis untuk koneksi database di Pivotal.
  5. Lakukan git push untuk menjalankan Jenkins dan deployment.

Lanjut membaca ...


Mengakses Repository Gitlab dari Jenkins

Pada artikel sebelumnya, kita telah menyiapkan server Jenkins untuk melakukan build pada project kita. Di artikel ini, kita akan mengkonfigurasikan project kita yang ada di Gitlab supaya bisa terhubung dengan Jenkins. Setelah selesai konfigurasi, kita akan bisa mendapatkan workflow seperti ini:

  1. Programmer mengedit source code di laptopnya. Kemudian mengetes di laptopnya apakah sudah berjalan dengan baik.
  2. Setelah oke, programmer commit dan push perubahan yang dia lakukan ke server Gitlab.
  3. Gitlab akan mengontak Jenkins, memberitahukan bahwa ada perubahan source code terbaru.
  4. Jenkins akan mengambil source code yang terbaru dari Gitlab.
  5. Jenkins menjalankan proses build.
  6. Jenkins memberitahukan hasilnya kembali ke server Gitlab.
  7. Gitlab memberitahukan hasilnya pada programmer.

Langkah-langkah setup:

  1. Buat SSH Keypair
  2. Setup SSH Key di Jenkins
  3. Buat project di Gitlab
  4. Daftarkan deploy key di Gitlab
  5. Generate API token di Gitlab
  6. Buat project di Jenkins
  7. Daftarkan trigger Jenkins di Gitlab

Lanjut membaca ...


Instalasi Jenkins dengan SSL

Hampir setahun yang lalu, saya menulis serangkaian artikel yang terdiri dari 4 artikel mengenai cara setup project Java, konfigurasi continuous integration, deployment ke Heroku dan Openshift, dan continuous delivery supaya tiap kali programmer commit, aplikasi langsung terdeploy ke server testing. Akan tetapi, artikel tersebut hanya cocok buat project open source yang source codenya tersedia bebas di Github, sehingga kita bisa menggunakan layanan gratis seperti Travis dan Coveralls. Bila kita ingin menggunakannya untuk project yang tidak publik (misalnya project yang dibayar oleh client, ataupun produk yang tidak kita rilis source codenya), kita harus membayar cukup mahal untuk menggunakan layanan Github, Travis, dan Coveralls tersebut.

Untuk itu, sekarang saya akan menulis lagi panduan untuk membuat workflow yang serupa, tapi untuk project privat. Konfigurasinya adalah sebagai berikut:

Lanjut membaca ...


Setup Firebase Cloud Messaging

Setup Firebase Cloud Messaging

Firebase Cloud Messaging (FCM) adalah solusi server push untuk aplikasi Android. Server push maksudnya adalah fitur yang kita gunakan apabila aplikasi server kita ingin mentrigger aplikasi mobile.

Google menyediakan fasilitas FCM yang bisa digunakan untuk aplikasi Android maupun iOS. Contoh skema penggunaannya dapat dilihat pada gambar berikut

[Skema Update Tagihan](https://lh3.googleusercontent.com/N4768qRMt0y9aA-21zJmXRUPc3YbF0SbAPLnOR0t0W6Xw293GxOTN9htFiyFRm6MjEGLVZqG-gKM5hXarme3nvU2MGPrtlERS2TNqARYCt1aBzm70KBtwp3DCpw5ZDqoRQcQoa_EsC-5RKGlVW4_hfUPxA71iFpQ_yFCTejep13-B64KOkO-ELbwQHSSOPa7viCy4u3OjxrBPWM1Uk1vWDd0HN310uQSGlpZDLK1_cnRPkSquHzz39pg1y1H59cwCzw5kV_Ob4G_XEiBL689kLbJIvnmXpMAddxX-eKJ8uHuRdDwxZTx79-RIDzgaHWXCwoWrYE7ARebw-n81djjjzzb5yjlpgEtLZuYJzVE22Kqvox-w7vT-DsQzDScGer4UR0PqoAeuwaByNaFydake90XyOS9Rg0jrD3qg_UX8XltBAjFBRd5I8jVyLL0iuzxGzzH5ETC5rYzI1XdGYFI0XXnVNz9VQPIbUCmyCBF-_BzNNBc0Vp4fbPKOCczaMZowjTIzS4WF5bhFjdTHHO1paBNmJh0yRdWJIhVSg9wqGItNKN7UbpAPuRbU6aasgbSJRrsuGaJ542PUeJdgTDC8JvAErp4NWrR8rznIgGpcSjR4tL6-4esarw9ZwkcQrJ-wApAEVAhprIjNVy5wHNMDBirgJPx57Q0NycTi08vpQ=w1361-h538-no)

Untuk bisa menggunakan FCM, ada beberapa langkah yang harus dilakukan:

  1. Login dengan Google account di browser
  2. Masuk ke Firebase Console
  3. Membuat project
  4. Menyambungkan project android kita ke project di Firebase Console
  5. Membuat kode program di aplikasi Android untuk mendapatkan FCM token. FCM Token ini adalah identifier untuk perangkat dimana aplikasi kita berjalan.
  6. Membuat kode program di aplikasi Android untuk menerima dan menangani message yang datang.
  7. Mencatat Server Key (yang nantinya akan digunakan untuk mengirim message)
  8. Membuat kode program di aplikasi server untuk mengirim message

Lanjut membaca ...