Belajar Ruby on rails & heroku

Toriq Ziadi Rachman
7 min readSep 7, 2018

--

Gambar 1-Belajar Ruby On Rails

Saya minta maaf jika karena ini awal dari tulisan ada salah nya dan ini pertama kali saya menulis ,dan juga belajar ruby on rails hehehe,saya sanget tertarik untuk belajar ruby karena melihat banyak kelebihan menggunakan bhs web programing ini selain itu juga ketertarikan saya untuk belajar ruby, awalnya ketika saya membaca salah satu Start up yang menurut saya besar di indonesia mengasumsikan kalo membuat web dengan ruby on rails Gaji nya tinggi nah maka mulai lah mempelajari .

Saya mau berbagi tentang ruby,seperti ruby ID,idruby.com.

Ok kali ini langsung saja kita next pertama kali saya belajar ruby saya sangat belom paham bener ,apa sih ruby itu ,yang pasti lebih ribet banget pokoknya,Pertama kali saya jalankan ruby dan saya pun bingung dengan ada nya hosting heroku.com yang isi nya deployment tentang ruby,mambuat saya semakin penasaran,bagaimana ruby ini berjalan di dalam hosting,Apa lagi saya sedikit ilmu tentang git dan saya mulai pelajari satu hingga persatu dari mulai git data struktur on ruby

Gambar 2 Git Sruktur

okay kali ini saya ingin memastikan bagaimana cara kerja heroku.com terus gimana caranya install dan pasang di comand nya nah ini saya berikan referensi langsung dari heroku.com

Manfaat menggunakan Heroku adalah layanannya yaitu menjalankan script app langsung tanpa memerlukan setting yang sangat rumit, memungkinkan pengembang aplikasi lebih fokus pada kode aplikasi mereka, tanpa terlalu dipusingkan dengan arsitektur dan server.lebih sederhana lagi jika kita amulasikan seperti ini :

  • saya ingin live test aplikasi saya tapi tidak menggunakan domain dulu karena ini untuk testing karena masih dalam tahap developing ada testing online sebelum menuju production.
  • Saya tidak punya vps untuk mencoba app saya
  • Vps saya tidak ada service atau library yang dibutuhkan oleh app saya
  • saya mau demo dengan client dan app nya harus onlinekan, saya tapi saya tidak punya server/vps maklum masih baru-baru menjadi freelance
  • Perusaahan tempat saya bekerja meminta sebelum di deployment atau di install ke dalam server utama diharuskan untuk berjalan dengan lancar dalam server testing dengan kriteria server tertentu
  • dan lain lain.

Bagaimana sih kita bisa terhubung dengan heroku,dan bagaimana cara nya kita memulai nya :

  1. Register User di Heroku
  2. Instalasi heroku tolbet / Heroku CLI
  3. Kita akan clone projek kita di git server seperti github, bitbucket atau gitlab terserah saja, atau kita buat projek baru untuk di running di heroku
  4. Menghubungkan git lokal dengan heroku
  5. Deploy dan Testing
  6. Happy ending :D

TAHAP — 1 Register

> Okay kita buka dulu dan register heroku.com

TAHAP 2 Instalasi Heroku

> OS X Homebrew brew install heroku

OS X Installer : download di https://cli-assets.heroku.com/branches/stable/heroku-osx.pkg

> Debian / Ubuntu

sudo apt-get install software-properties-common # debian only
sudo add-apt-repository "deb https://cli-assets.heroku.com/branches/stable/apt ./"
curl -L https://cli-assets.heroku.com/apt/release.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install heroku
```

> Untuk versi Windows installer 32-bit 64-bit.

32-bit

64-bit

bila selesai instalasi cek di console atau command prompt dengan command heroku --version. Pada laptop saya resultnya heroku-cli/5.6.28-2643c0a (linux-amd64) go1.7.5. Laptop saya linux jadi bisa saja hasil nya berbeda dengan komputer lainnya. Jika instalasi berjalan lancar akan muncul hasil dari command heroku --version adalah heroku-cli/x.y.z dimana x.y.z adalah versi dari heroku-cli

Tahap 3 Buat Projek atau clone

Kita akan membuat projek sederhana dengan nodejs dan npm serve static file with nodejs (menampilkan halaman statis dengan node js). Pastikan komputer telah terinstall nodejs dan npm di dalam console. Buat folder baru di komputer untuk proyek kita. Pada tutorial ini saya menggunakan nama toriqzr-heroku untuk nama folder dan juga nama aplikasi. Gunakan nama lain selain nama ini, karena nama aplikasi akan digunakan sebagai subdomain aplikasi di Heroku. Kemudian masuk ke dalam folder tersebut melalui console. Kemudian ketikkan perintah npm init -y. Console akan menampilkan output dari inisiasi project oleh npm.

Gambar 2-npm init -y

Penjelasan : Pada contoh di atas kita meng-generate package.json di dalam direktori code /toriqzr-heroku. Tahap selanjutnya melalui npm kita akan menambahkan library pendukung melakukan serve static file dengan node js yaitu library pendukung node-static. Jalankan perintah npm install node-static --save.

Gambar 3-npm install node-static- -save

Perintah npm node-static --save dengan opsi --save akan membuat dependencies otomatis yang di sertakan dalam file package.json kita sehingga json hasil generate npm init -y tadi akan automatis akan berubah menjadi :

Gambar 4 Setelah npm install node-static --save dilakukan

Setelah itu teman teman bisa membuat file di luar dengan nama index.js yang nanti nya akan di start dengan npm dan port host,dengan editor kesukaan Atom atau VS code dan Sublime

isikan file index.js seperti ini :

Gambar 5- insert index.js

Pada bagian var file = new static.Server(); saya isi default. Kita dapat melakukan serve static file custom misalnya "halaman.html" maka ditulis menjadi var file = new static.Server('home.html'); dengan asumsi ada file home.html dalam direktori proyek kita. Karena kita menggunakan nilai default maka berarti harus ada file index.html. Buat dulu file index.html dan isi dengan kode berikut ini, atau apapun yang Kamu inginkan :

Gambar 6- isi dari index.html

Setelah itu kita uji terlebih dahulu di lokal sebelum di hubungkan dengan heroku. Jalankan perintah berikut untuk menjalankan file :

node index.js

Selanjutnya masih tahap uji coba, kita akan merubah akses package.json untuk menambahkan start script. Ini adalah bagian penting karena heroku memahami script start application dari npm. Ubah package.json menjadi seperti ini:

Gambar 7 edit script tambahkan start dan isi node “Nama.js”

seperti kita lihat ada perubahan pada bagian script "start": "node index.js" karena ini akan dibutuhkan oleh heroku untuk menjalankan app kita.

Tahap 4 menghubungkan git lokal dengan heroku

ini bagian penghubung app kita dengan heroku cloud. Masih di dalam folder proyek kita tadi toriqzr-heroku, pada console jalankan perintah berikut untuk menginisiasi repositori git :

git init

Kemudian login ke Heroku dengan perintah heroku login:

Gamabar 8 Login to Heroku

yang terakhir buat instance di heroku dengan perintah heroku create nama-app. Ganti nama-app dengan nama aplikasimu sendiri:

Gambat 9- script heroku create nama-app

Seperti yang telah saya sampaikan sebelumnya heroku cli terhubung dengan git. Pada saat kita membuat app dengan perintah heroku create nama-app secara otomatis heroku manambahkan git remote dengan url reponya adalah

https://git.heroku.com/toriqzr-heroku.git dan untuk web nya adalah https://toriqzr-heroku.herokuapp.com/ adalah nama folder sekaligus nama aplikasi yang saya gunakan untuk tutorial ini. Karena nama aplikasi akan menjadi subdomain dari URL proyek kita di Heroku.

Eitsssss belom selesai namun kita masih perlu melakukan push proyek kita ke server heroku. Pastikan dulu apa nama remote kita dengan memanggil perintah git remote -v. Seharusnya akan muncul seperti ini:

Gambar 10 Git remote -V

yang seperti pada umumnya git, kita bisa saja misalnya manambahkan remote misalnya ke github contoh git remote add github https://git.heroku.com/toriqzr-heroku.git . Lalu apakah kita bisa clone app kita di heroku dengan git clone https://git.heroku.com/toriqzr-heroku.gitcoba-heroku-clone? Tentu saja bisa, dengan asumsi kita sudah login dengan heroku login.

Tahap 5 Push app ke Heroku dan Testing

di tahap ini saya menggunakan istilah push karena untuk mengirimkan ke heroku kita melakukan push app kita. Perhatikan bahwa pada saat kita mem-push aplikasi kita ke Heroku, Heroku akan melakukan proses instalasi package (menjalankan perintah npm install) untuk aplikasi kita. Sehingga kita harus membuat file .gitignore untuk meng-ignore folder node_modules. Buat file .gitignore pada root folder aplikasi dan isi dengan konten seperti ini:

/node_modules

Seperti saat menggunakan git pada umumnya, kita harus add file lokal kita dan semua perubahannya menggunakan perintah git add . . Kemudian commit dengan perintah git commit -m "push proyek ke heroku". Pada console saya tampil seperti ini:

Gambar 11-Push ke server heroku

Ingat karena nama remote kita adalah heroku (dapat dicek di git remote -v) maka kita akan push dengan perintah git push heroku master (saya juga pernah kelupaan karena terbiasa dengan git push origin master) hahahaha

Gambar 12-git push ke server hero

Jika setelah sukses deploy log history akan muncul di user login kamu :

Gambar 13-Deployment in heroku Web

Tahap 6 Test di Browser

Silakan buka browser dengan URL nama-app.herokuapp.com, seperti contoh hasil proyek tutorial ini https://toriqzr-heroku.herokuapp.com. Kamu juga dapat membuka aplikasi dengan memanggil perintah heroku open pada console dan aplikasi akan otomatis dibukakan di browser.

Bila sukses dan tidak muncul application error di browser berarti push kita berhasil. Bila tidak, coba kembali ke console dan cek logs dengan perintah heroku logs dan lihat error apa yang tercatat di log. Contoh error karena lupa membuat start script Seperti ini :

Gambar 14 -Heroku History

Error tersebut muncul karena kita lupa menambahkan "start": "node index.js" di file package.json.

Heroku mendungkung berbagai macam platform, serta pengolahan database beraneka macam sesuai dengan kebutuhan app kita. Heroku juga mendukung Continuous delivery, Continuous delivery dengan Heroku Flow dan pipelinenya. Tidak salah rasanya kita menjadikan heroku salah satu environment kita dalam mengerjakan projek.

Sekian Terima Kasih ,Semoga Bermanfaat

TORIQZR

author : Toriqzr

grup fb : Forum Keluarga Programmer indonesia

--

--

No responses yet