28 Sep 2017
Pada artikel sebelumnya, kita sudah mengotomasi proses build dengan Gitlab CI dan deployment ke Heroku. Proses tersebut bisa dilakukan dengan lancar apabila semua library/dependensi yang kita gunakan dalam aplikasi kita adalah open source. Dependensi open source tersedia di repository Maven Central, sehingga dimanapun kita jalankan perintah build, maka Maven akan mengunduh dependensi yang dibutuhkan langsung dari internet.
Akan menjadi persoalan kalau project kita menggunakan library yang tidak open source atau proprietary. Contoh paling umum adalah database Oracle. Agar aplikasi kita bisa terhubung ke database Oracle, kita harus menggunakan JDBC Driver dari Oracle yang tidak open source, sehingga tidak tersedia di Maven Central.
Untuk mengatasi hal ini, kita perlu menyesuaikan proses build aplikasi kita agar tetap bisa berjalan otomatis dari commit hingga deployment.
Lanjut membaca ...
14 Sep 2017
Di tahun 2017 ini, sudah tidak ada lagi alasan bagi kita untuk tidak menggunakan HTTPS
. Sertifikat SSL bisa didapatkan dengan mudah dan gratis dengan adanya LetsEncrypt.
LetsEncrypt menyediakan beberapa metode yang bisa kita gunakan untuk membuktikan bahwa domain yang ingin kita buatkan sertifikatnya benar-benar kita miliki (Domain Validation), yaitu:
- apache
- nginx
- standalone
- manual
Metode apache
dan nginx
kita gunakan bila kita menggunakan webserver tersebut. Aplikasi Certbot dari LetsEncrypt akan membuat file khusus di webserver tersebut dan mencoba mengaksesnya dari internet. Bila berhasil, artinya kita benar-benar menguasai domain dan webservernya.
Metode standalone kita gunakan bila aplikasi kita tidak berjalan di atas apache
atau nginx
, misalnya bila kita menggunakan Tomcat, Jetty, dan sebagainya. Dengan metode ini, certbot
akan menjalankan webserver dan menunggu request dari server LetsEncrypt. Bila server LetsEncrypt bisa mengakses webserver certbot
tersebut, artinya kita benar-benar punya akses ke domain dan servernya. Cara menggunakan metode ini sudah kita bahas di artikel terdahulu.
Walaupun demikian, adakalanya kita belum punya server yang akan kita gunakan untuk menjalankan aplikasi. Belum tahu mau pakai webserver apa. Atau aplikasi kita berjalan di port non-standar (selain 80 dan 443). Karena servernya belum ada, maka kita tidak bisa menunggu request di server tersebut. Kita juga tidak bisa mengarahkan nama domain ke laptop kita, karena pada umumnya, laptop kita tidak memiliki IP publik. Untuk itu, pada artikel kali ini kita akan membahas metode manual
dan verifikasi dns
. Metode ini bisa dijalankan di laptop, tanpa harus punya server ataupun mendeploy aplikasi kita ke server tertentu.
Lanjut membaca ...
30 May 2017
Raspberry PI tentunya sudah bukan barang baru lagi bagi para opreker nusantara. Cara instalasinya pun saya yakin sudah pada lancar. Akan tetapi, sebelum dipasang ke internet, perlu ada tindakan pengamanan supaya tidak dihack orang.
Berikut langkah-langkah yang biasa saya lakukan pada saat setup Raspberry PI
- Instalasi Raspbian ke MicroSD
- Setup WiFi
- Login ke Raspbian
- Buat user baru
- Hapus user pi
- Ganti keyboard dan timezone
- Update & Upgrade
- Setup passwordless login
- Proteksi brute-force ssh
- Automount USB
Lanjut membaca ...
19 May 2017
Wiken lalu, para staf IT di seluruh dunia mendapat hadiah istimewa, yaitu malware WannaCry. Banyak korban yang kena, baik di luar negeri maupun di negara kita. Sampai masuk TV segala.
Saya tidak akan membahas lagi tentang apa itu WannaCry. Silahkan baca blognya Prof. Budi Rahardjo, baca slide presentasi saya, atau – bagi yang tidak suka artikel bahasa Indonesia – bisa baca tulisannya Troy Hunt. Pada artikel ini saya akan bahas tentang bagaimana menyelesaikan urusan WannaCry ini, untuk puluhan komputer, tanpa membuat kita wanna cry.
Lanjut membaca ...
08 May 2017
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 ...