Setup dan Deploy Laravel Project ke Heroku
Bagaimana sih cara setup dan menjalankan Laravel project menggunakan Heroku? Bareng-bareng ngoprek Laravel dan Heroku yuk! 😜
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. 👇
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 😇😇
Sekian, semoga bermanfaat ^^
Jika ada pertanyaan atau masukan, silakan langsung kontak saya di bawah ya ✌️ ✌️
Referensi
- https://appdividend.com/2018/04/17/how-to-deploy-laravel-project-on-heroku/#Deploy_Laravel_Project_On_Heroku
- https://devcenter.heroku.com/articles/getting-started-with-laravel
Contact me
Linkedin: Djiwandou Putro
github.com/djiwandou
djiwandou (+62 822 3091 7591) | djiwandou@gmail.com