Deploy Laravel ke Heroku

Pada artikel kali ini saya akan sharing tentang cara deploy laravel ke heroku. Heroku merupakan platform yang menyediakan layanan app cloud server. App cloud server sendiri merupakan layanan untuk deploy aplikasi ke server tanpa perlu ribet install & manage server.

Heroku mendukung beberapa bahasa pemrograman, antara lain : Ruby, Python, Node. js, PHP, Go, Java, Scala, and Clojure.

Cara Kerja Heroku

Cara Kerja Heroku

Ketika kita (heroku customer) deploy aplikasi, kita perlu menggunakan heroku command line tools (Heroku CLI). Heroku CLI ini yang akan menjembatani kita untuk terhubung dengan heroku. Heroku melakukan merge terlebih dahulu dengan environtment yang kita miliki sebelum melakukan deploy service / aplikasi yang kita buat.

Service yang kita buat mempunyai subdomain khusus yang bisa diakses secara public.

Contoh aplikasi Laravel

Aplikasi yang akan kita deploy adalah Aplikasi CRUD sederhana yang dibahas pada artikel ini Tutorial Membuat Aplikasi CRUD Laravel + AdminLTE.

Silahkan download / clone aplikasi nya di github : https://github.com/dedegunawan/crud-laravel-adminlte.

Daftar Heroku

Sebelum menggunakan heroku, tentu kita harus mempunyai akun terlebih dahulu. Silahkan daftar pada heroku terlebih dahulu pada link https://signup.heroku.com/.

Masukkan nama depan, nama belakang, email, role, negara & bahasa utama, kemudian klik tombol create free account.

Jangan lupa link verifikasi yang dikirim ke email.

Heroku CLI

Heroku CLI merupakan tools berbasi command line untuk mengakses layanan heroku. Sebelum deploy aplikasi, heroku cli harus sudah terinstall terlebih dahulu pada PC / laptop kita.. Silahkan baca artikel https://devcenter.heroku.com/articles/heroku-cli untuk install heroku cli.

Login ke Heroku CLI

Sebelum masuk ke tahap ini pastikan aplikasi contoh sudah di clone & heroku CLI sudah diinstall.

Masuk ke terminal / command prompt pada folder contoh aplikasi, kemudian jalankan perintah :

heroku login

Heroku akan mengarahkan kita untuk login via browser. Setelah berhasil, pada terminal akan menampilkan email kita, seperti pada gambar ini :

heroku cli login berhasil

Mendaftarkan Aplikasi di Heroku

Aplikasi yang telah kita buat, perlu didaftarkan terlebih dahulu dengan menjalankan perintah :

heroku create nama-aplikasi-kita

Ketika pendaftaran aplikasi berhasil, maka kita sudah bisa mengakses aplikasi kita, walau masih belum ada isinya.

heroku create berhasil

Menambahkan Procfile

Tambahkan file Procfile pada directory root aplikasi & isi dengan kode :

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

Kode tersebut berfungsi untuk mengarahkan file indeks aplikasi. Pada laravel, file index.php kan tersimpan di folder public, maka kita mengatur nya di folder public.

Push Aplikasi ke Heroku

Jalankan perintah :

git add .
git commit -m "Add Procfile" 
git push heroku master

Perintah ini untuk menambahkan file Procfile yang kita buat tadi dan sekaligus mengirim kode aplikasi ke heroku.

Menambahkan APP_KEY ke Environment Heroku

Jalankan kode ini untuk menambah APP_KEY ke environment heroku :

heroku config:set APP_KEY=$(php artisan --no-ansi key:generate --show)

Membuat database MySQL di Heroku

Jalankan perintah berikut ini untuk membuat database baru di heroku.

heroku addons:create cleardb:ignite

Jalankan perintah ini untuk melihat konfigurasi database :

heroku config | grep 'CLEARDB_DATABASE_URL'

Nanti akan muncul variable CLEARDB_DATABASE_URL seperti pada gambar ini :

Membuat database cleardb pada heroku.

Dari variable tersebut kemudian kita sesuaikan dengan konfigurasi mysql kita. Contoh output :

CLEARDB_DATABASE_URL: mysql://b7acadd7f84a38:3716b207@us-cdbr-east-05.cleardb.net/heroku_9c35b1fa9a2eafc?reconnect=true

Hasil penyesuaian konfigurasi mysql :

DB_HOST=us-cdbr-east-05.cleardb.net
DB_DATABASE=heroku_9c35b1fa9a2eafc
DB_USERNAME=b7acadd7f84a38
DB_PASSWORD=3716b207
Pengesuaian konfigurasi database

Jalankan perintah ini dengan menyesuaikan dari konfigurasi mysql yang kita dapatkan tadi :

heroku config:set DB_HOST=sesuaikan-dengan-konfigurasi
heroku config:set DB_DATABASE=sesuaikan-dengan-konfigurasi
heroku config:set DB_USERNAME=sesuaikan-dengan-konfigurasi
heroku config:set DB_PASSWORD=sesuaikan-dengan-konfigurasi

Migrate Database

Terakhir yang harus kita lakukan adalah melakukan migrasi struktur database. Jalankan perintah berikut untuk melakukan migrasi :

heroku run php artisan migrate

Buka Aplikasi

Jalankan perintah ini untuk membuka aplikasi yang kita deploy di browser.

heroku open
Deploy Laravel ke heroku berhasil

Sampai tahap ini deploy Laravel ke heroku sudah selesai.

Video Tutorial

Penutup

Aplikasi Laravel yang kita buat sudah berhasil di deploy ke heroku. Jika ada yang ingin ditanyakan / ditambahkan, silahkan tulis di kolom komentar. Terima kasih.

Leave a Reply

Alamat email Anda tidak akan dipublikasikan.