Setelah Sekian Purnama

Hahaha .. Sibuk sekali gaes, dunia offline saya sedang tak karuan 😀 Niatan saya juga mau mengurangi aktifitas online demi menjadi lebih “Manusia”, Alhamdulillah-nya di bulan September kemarin saya juga diberi kepercayaan untuk belajar menjadi seorang ayah1. Lengkap ya ..

Tulisan ini sebenarnya ada berkat mesin baru yang tak beli bulan kemarin, semoga bisa review di postingan selanjutnya. Oh ya, saya juga update halaman Works sebagai tanda kalau sebenarnya diri ini belum pensiun dari dunia beginian. 😀


  1. Foto : Instagram

Setahun

Cuma mau bilang kalau post ini terpaut satu tahun dari post sebelumnya. Semenjak saya bekerja full-time Agustus tahun lalu saya jadi banyak off-line dari pada on-linenya.

Tapi meskipun demikian, saya masih beberapa kali posting kok, di tempat lain, dan dalam bentuk lain1.

Semoga kalian bisa buka, soalnya di situ saya pakai platform Tumblr.

Deploying The Latest Ghost on Openshift

For you who want to deploy the latest Ghost on Openshift, this is the alternative Ghost Quickstart you can use as a source code. Here you go https://github.com/norsasono/openshift-ghost-starter.

I seperated it from their original repository for my personal purpose. I can’t promise you to always stay up-to-date, but you can make a contribution to make the repository stay alive.

The Problem

Openshift doesn’t provide you neither the recommended Node.js nor the required version to install latest stable Ghost on their server and it will cause problems if you update your recent Ghost app. The last known version you can is Ghost 0.11.7. You can read the comments from potatoefist on this post.

What did I actually do?

Luckily, even they don’t provide you the Node.js version that is required to deploy the app, you can still deploy the specific Node.js version you want to use to build your apps.

I don’t use their default Ghost quickstart repository, I use the specific Node.js version to run on their server first and deploy Ghost manually.


https://github.com/norsasono/openshift-ghost-starter


Inside The Package

  • Nodejs v.6.9.5 (Recomended from Ghost)
  • Ghost 0.11.10 (Latest stable version)

How To?

  1. Make a new Application using Ghost 0.7.5 Quickstart
  2. Use this repository as a source.
  3. Done.

Don’t worry, I actually use Node v.6.9.5 as the default cartridge because the default Node.js version from Openshift-Ghost-Quickstart is 0.10.** and no longger suppported for the recent Ghost version.

Is it possible to be used to deploy Ghost v 1.0.-Beta?

Possiblly yes, but I haven’t tried. You know that Openshift provides you both Mysql (5.1 and 5.5) and Postgree (8.4 and 9.2), since Ghost doesn’t require the higher version of mysql, it is still possible. But remember, Ghost folks have dropped the support for PostgreSQL. Be wise.

Memindahkan Situs Utama dan Blog ke Firebase

TL;DR: Tutorial deploy Jekyll ke Firebase menggunakan CI (Travis-CI) dengan repository Github.


Setelah saya menimbang dengan segala kelebihan dan kekurangan, saya putuskan membangun kembali halaman utama https://sasono.web.id menggunakan Jekyll setelah sebelumnya saya menggunakan satu halaman sedarhana dengan HTML dan CSS murni.

Sedangkan untuk blog ini, saya sempat beberapa kali memindahkan tempat, kalian bisa baca di sini dan di sini. Bagi saya rasanya perlu sekali membedakan antara halaman utama dengan blog, karena blog lebih bersifat dinamis dan kan lebih sering mengalami perubahan. Oleh karena itu, meskipun saat ini terlihat sama, halaman utama dan blog ini sebenarnya memiliki domain yang terpisah. sasono.web.id dan blog.sasono.web.id. Platform blog ini juga tercatat telah tiga kali mengalami perubahan, dari mulai Blogger, Jekyll, Ghost, WordPress. Dan saat ini kembali menggunakan Jekyll dengan Firebase untuk tempat hosting.

Mengapa Firebase?

Firebase sejatinya milik Google. Dan jika berbicara soal kelebihan dan kekurangan, saya akan memberi batasan pada beberapa fitur yang berhubungan dengan hosting.

Kelebihan

  1. Support custom domain + SSL secara default.
  2. Support Custom rules. Saya gunakan untuk cache browser.
  3. Google CDN. You know lah, mereka salah satu yang terbaik.

Kekurangan

  1. Space 1GB dengan Bandwidth 10GB
  2. Hanya file statis.

Source

Skema yang saya gunakan adalah dengan menempatkan source code pada repository Github dan menghubungkannya dengan Continuous Integration (CI), lebih spesifiknya saya menggunakan Travis-CI. Kira-kira seperti inilah alur yang digunakan.

Jekyll di kompeter lokal > Push ke Github > CI (Travis-CI) > Firebase


Setup

Silahkan buka Firebase Console dan buat proyek baru dan lakukan pemasangan Firebase CLI.

Firebase menggunakan tool Firebase CLI yang membutuhkan Node (tutorial pemasangan dapat dibaca di sini) untuk dapat digunakan.

npm install -g firebase-tools

lalu lakukan login menggunakan

firebase login

Masuk pada direktori jekyll dan lakukan

cd lokasi/jekyll/berada

lalu

firebase init

pilih hosting dan proyek yang telah dibuat di awal.

Akan terdapat tiga file yang muncul firebase.json, .firebaserc, dan database.rules.json.

Hosting

Secara umum terdapat dua langkah yang dapat digunakan untuk menggunakan hosting pada Firebase.

Pertama

Deploy secara langsung file hasil generate dari Jekyll ( _site ).

firebase deploy

Ini merupakan cara termudah yang dapat dilakukan karena kita hanya perlu deploy file pada folder _site (untuk Jekyll) atau public (untuk default setup). Folder dapat dirubah dengan setting file firebase.json seperti di bawah.

{
  "hosting": {
    "public": "_site",
    "ignore": [
      "**/.*",
      "firebase.json"
    ],
  }
}

Kedua

Menggunakan skema Continuous Integration dengan menempatkan source code ada repository semisal Github, Gitlab, Bitbucket atau yag lainnya.

Jekyll di kompeter lokal > Push ke Github > CI (Travis-CI) > Firebase

  • Buat akun Travis-CI menggunakan ID Github/Gitlab dan pilih repository yang akan dihubungkan dengan Travis-CI.
  • Hubungkan Firebase dengan CI menggunakan firebase login:ci untuk mendapatkan Firebase token.
  • Masukkan token pada Travis-CI setting dan beri nama FIREBASE_TOKEN

  • Buat file .travis.yml pada direktori root Jekyll. Berikut adalah konfigurasi yang saya gunakan.
language: node_js
node_js: '7.9.0'

before_install:
  - rvm install 2.3.1
  - rvm use 2.3.1
  - . $HOME/.nvm/nvm.sh && nvm install 6.1 && nvm use 6.1
  - gem install bundler
  - bundle check || bundle install

install:
  - npm install -g firebase-tools

before_script:
  - chmod +x ./script/cibuild

script: ./script/cibuild

after_success:
  - firebase deploy --token $FIREBASE_TOKEN

branches:
  only:
  - master

env:
  global:
  - NOKOGIRI_USE_SYSTEM_LIBRARIES=true 

sudo: false
  • Buat folder script dan buat file bernama cibuild. Berikut configurasi milik saya.
#!/usr/bin/env bash
set -e # halt script on error

bundle exec jekyll build

# script/cibuild

Test Deploy

Lakukan perubahan atau buat postingan baru lalu push ke repository Github/Gitlab dan tunggu beberapa menit sampai proses selesai. Lalu buka halaman


Saya menggunakan skema kedua karena cara ini lebih menghemat kuota. Bayangkan jika kita harus mengoreksi beberapa tulisan/posting dan mendeploy ulang seluruh file hasil generate, tentunya akan lebih besar daripada mem-push hasil koreksi ke repository Github/Gitlab dan biarkan Travis-CI melakukan build dan deploy ke Firebase.

Cheers .. 🙂

Tak Cukup Hanya “Incognito”

Beberapa hari yang lalu saya membaca sebuah tulisan bagus dari Quincy Larson yang berjudul “How to encrypt your entire life in less than an hour”. Artikel tersebut menjabarkan beberapa tips tentang bagaimana untuk tetap aman dalam dunia digital, termasuk di dalamnya penggunaan browser yang memiliki fitur dalam hal keamanan yang jauh lebih baik dari pada browser yang umum kita gunakan seperi Chrome, Firefox, Safari, dan lain sebagainya, bahkan sekalipun kita sudah menggunakan fitur Incognito ataupun Private Window. Silahkan gunakan TOR. Continue reading “Tak Cukup Hanya “Incognito””

Mau, Blog dan Domain .my.id Gratis dari PANDI?

Sudahkan tahukan Anda dengan program PANDI (Pengelola Nama Domain Indonesia) terbaru yang satu ini? Bersyukurlah karena dengan adanya program ini kita akan mendapatkan satu domain gratis dengan ekstensi .my.id beserta satu blog gratis pula dengan platform WordPress Multiuser. Atau anggap saja kalian akan mendapatkan satu blog WordPress beserta domain my.id gratis tis tis. Contohnya http://sasono.my.id Uhuk ..

How Does It Work?

Seperti yang tertulis di halaman awal demo.e.id.

Mari bergabung di revolusi Identitas Digital Indonesia.
Cukup gunakan Nomor Induk Kependudukan (NIK) dari KTP anda, dan nikmati kemudahan beraktifitas digital.

Continue reading “Mau, Blog dan Domain .my.id Gratis dari PANDI?”