Setup dan Deploy Laravel Project ke Heroku

Djiwandou Putro
4 min readSep 20, 2019

--

Bagaimana sih cara setup dan menjalankan Laravel project menggunakan Heroku? Bareng-bareng ngoprek Laravel dan Heroku yuk! 😜

source kombinasi Laravel dan Heroku bisa jadi opsi tepat untuk memulai belajar ataupun testing

Seperti biasa, berikut environment yang penulis gunakan, selain heroku-18 (sepertinya masih default ketika kalian create heroku application baru -tested per 20-Sept-2019-) semua bisa dilihat di file composer.json di project Laravel.

heroku-18
"laravel/framework": "5.8.*",
"laravel/tinker": "^1.0"

Intro dulu ya, Heroku adalah sebuah platform, lebih tepatnya PaaS (Platform as a Service) yang membantu developer atau siapapun untuk menjalankan, testing, trial, bikin mockup dll di cloud (daripada run di laptop sendiri kan ribet tuh -kecuali pake docker- 😸 ).

Intinya Heroku ini tempat kalian coba-coba, run, test, dll tanpa takut error, mirip seperti Virtual Machine / Droplet / AWS EC2 tapi ini free (tanpa kartu kredit dll.) 😅

Kalo Laravel yaa… framework PHP untuk develop sesuatu — aplikasi web based-, tapi mostly backend ya kayanya, hehe

Install Heroku CLI

Tujuan dari instalasi Heroku CLI adalah nanti kita bisa panggil command heroku via terminal. Tapi, sebelum mulai install Heroku CLI (Command Line Interface), kita perlu bikin akun Heroku dulu dengan cara signup di web resmi Heroku ini.

Next, tergantung OS kalian bisa download disini -penulis memakai mac os-x- jadi sekalian menggunakan homebrew untuk install heroku cli. (Khusus bagi yang belum install homebrew bisa lihat caranya di artikel saya yg ini ya: Implementasi Laravel Queue menggunakan MongoDB).

$ brew install heroku/brew/heroku

Setelah itu verify dengan mengetik command berikut

$ heroku --version

gini hasilnya:

heroku/7.29.0 darwin-x64 node-v11.14.0

Create Simple Laravel Project

Setelah command heroku sudah bisa dipanggil di terminal, kita buat project laravel sederhana dengan command berikut

$ composer create-project laravel/laravel laravel_heroku 5.8

Hasilnya, seperangkat ̶a̶l̶a̶t̶ ̶s̶h̶o̶l̶a̶t̶ project laravel akan tersedia di folder laravel_heroku 👆

Setup Heroku Installation

Disini lumayan panjang langkah2nya, tapi yuk mulai! 💪🏾💪🏾

Langkah pertama untuk mempersiapkan instalasi Heroku yaitu membuat Procfile (file yang dibutuhkan untuk konfigurasi awal Heroku).

Create a Procfile

Buat file yang bernama Procfile dengan cara ketik command berikut -didalam folder project Laravel ya-

$ touch Procfile

Setelah itu isi Procfile seperti ini

web: vendor/bin/heroku-php-apache2 public/

Selanjutnya, inisiasi git dulu didalam folder project (ini bisa connect ke github kita juga lho).

Initialize Git repo

Jalankan command berikut untuk inisiasi git repo dari terminal -git remote nya url ke repo masing2 ya- 😜

$ git init
$ git add .
$ git commit -m "initial commit"
$ git remote add origin https://github.com/djiwandou/laravel_heroku.git
$ git push -u origin master

Setelah code naik ke git repo, saatnya kita setup persiapan deploy ke heroku.

Heroku Deployment prep.

Login Heroku

Karena kita tadi sudah install heroku cli, maka untuk login ke heroku bisa langsung dari terminal

$ heroku login

Tekan enter atau apapun (selain ‘q’) untuk membuka browser yang akan menanyakan akun heroku.

heroku: Press any key to open up the browser to login or q to exit:

Gini nanti munculnya ya 👆, terus setelah login sukses close browser untuk balik ke heroku cli. 👇

browser login ke Heroku CLI yang ditrigger dari command heroku login

Selanjutnya, kita perlu membuat heroku application. Ini adalah nama yang akan digunakan didepan URL heroku kita -biasanya nama akan dipilih secara acak-.

Create a Heroku application

Buka terminal -g usah terminal baru, yg tadi jg gpp- dan ketik command berikut

$ heroku create

Outputnya gini, dapat nama rocky-crag-38264 , kita dapat URL dan git heroku juga ya -ini beda sama github- ini repo yang akan dibaca oleh Heroku untuk deployment.

Creating app... done, ⬢ rocky-crag-38264
https://rocky-crag-38264.herokuapp.com/ | https://git.heroku.com/rocky-crag-38264.git

Setting Laravel encryption key

Untuk project laravel, kita perlu lihat file .env di bagian APP_KEY . Jika belum ada valuenya, maka kita perlu generate key lagi dengan command berikut

$ php artisan key:generate --show

Setelah muncul key seperti dibawah ini, copy dan setup agar Heroku mengenali value nya dan dianggap jadi variable di server Heroku.

$ heroku config:set APP_KEY={key_value_diatas}

Setting APP_KEY and restarting ⬢ rocky-crag-38264... done, v3
APP_KEY: base64:oaLiKOVC+HI2MytuDlQYI2JAuijQbJXq76IoBrZAjvM=

Push dan Deploy ke Heroku

Langkah terakhir, saatnya ‘naikin’ code ke Heroku

$ git add .
$ git commit -m "hello Heroku from Laravel"
$ git push heroku master

Setelah selesai, kita bisa akses output melalui https://rocky-crag-38264.herokuapp.com/

atau melalui command

$ heroku open

Finally, muncul tampilan yang kita semua sudah familiar 😇😇

hello Heroku from Laravel

Sekian, semoga bermanfaat ^^

Jika ada pertanyaan atau masukan, silakan langsung kontak saya di bawah ya ✌️ ✌️

Referensi

Contact me

Linkedin: Djiwandou Putro

github.com/djiwandou

djiwandou (+62 822 3091 7591) | djiwandou@gmail.com

--

--

Djiwandou Putro
Djiwandou Putro

Written by Djiwandou Putro

Engineer, Technology Consultant, Scholarship Experts, Co-founder of rumahiot.id. Trying to be the most beneficial person by sharing my knowledge and expertise.

No responses yet