Halo, selamat datang di Ruang Developer Blog, pada postingan kali ini kita akan belajar bagaimana cara deploy laravel di heroku. Bagi yang belum tahu, heroku itu adalah sebuah cloud platform yang menyediakan layanan server untuk berbagai jenis aplikasi. Heroku merupaka salah satu layanan cloud computing berjenis Platform as a Service atau biasa disingkat dengan PaaS, selengkapnya silahkan baca postingan tentang Mengenal Teknologi Cloud Computing dan Manfaatnya.
Untuk mendeploy aplikasi laravel kita ke heroku, pastikan kita sudah mendaftar akun di Heroku. Setelah memiliki akun, kita login dulu ke heroku menggunakan akun kita, kemudian buat aplikasi baru. Caranya tekan tombol new yang ada pada dashboard heroku kemudian pilih “Create new app”. Perhatikan gambar berikut:
Pada form pebuatan aplikasi, kita bisa langsung memasukkan nama untuk aplikasinya. Jika muncul pesan error nama tidak tersedia artinya kita harus mencari nama yang lain karena nama tersbut sudah dipakai orang lain.
Setelah proses pembuatan aplikasi di heroku selesai, maka kita akan dialihkan ke halaman deploy aplikasi seperti gambar berikut ini.
Untuk mendepoy aplikasi laravel, kita akan menggunakan deployment method GitHub. Jadi pastikan kamu telah mengupload repositori aplikasi laravel kamu ke github terlebih dahulu.
Sampai di sini kita bisa tinggalkan dulu heroku kita dan lanjut untuk menyeting aplikasi laravel kita. Di dalam folder aplikasi laravel (root folder yang berisi file .env), tambahkan sebuah file baru bernama Procfile. Berikut ini adalah isi dari file Procfile.
web: vendor/bin/heroku-php-apache2 public/
Kok cuma segitu? Ya, satu baris ini cukup untuk membuat heroku tahu bahwa aplikasi kita menggunakan PHP dan Apache dan menentukan folder mana nantinya yang akan di serve ke publik. Pada file Procfile ini kita juga bisa mengatur release command yang nantinya akan di jalankan setiap kali aplikasi di push ke heroku.
Oke mari kita lanjut. Setelah membuat Procfile, jangan lupa commit dan push ke repositori github ya. Setelah itu kita kembali ke website heroku yang tadi, kemudian pada bagian deployment method kita pilih github. Perhatikan gambar berikut.
Di sini kita ketik nama repositori kita kemudian tekan Search. Pada repositori yang muncul tekan Connect untuk menghubungkan repositori kita ke heroku.
Perlu diperhatikan! Apabila sebelumnya kamu tidak pernah mengkoneksikan github ke heroku, maka kamu akan diminta autorisasi github kamu terlebih dahulu. Ikuti saja instruksi yang muncul.
Setelah repositori terkoneksi, maka akan muncul tampilan seperti gambar berikut.
Klik Enable Automatic Deploys, kemudian klik Deploy Branch. Proses deploy akan segera dilakukan, heroku akan menampilkan build log selama proses deploy. Setelah selesai akan muncul tampilan seperti gambar berikut.
Apabila kamu ingin melihat kembali build lognya, kamu bisa pergi ke menu Activity, kemudian klik View build logs.
Sampai di sini, aplikasi laravel kita sudah berhasil di deploy ke heroku, namun sebelum kita coba kita akan memberikan nilai untuk env variable untuk aplikasi kita. Caranya, pergi ke menu Settings, scroll ke bawah hingga menemukan tombol Reveal Config Vars, klik tombol tersebut kemudian kita akan diminta untuk memasukan nilai env variable sesuai dengan key dan valuenya. Karena aplikasi laravel saya hanya aplikasi percobaan sehingga hanya perlu beberapa env variabel yang saya masukkan. Perhatikan gambar berikut.
Di sini saya mengisi nilai APP_ENV menjadi production, agar error yang terjadi tidak ditampilkan langsung ke pengguna karena kita anggap aplikasi kita sudah production ready. untuk nilai APP_KEY saya menggunakan key yang ada di file .env pada folder aplikasi di lokal komputer. pada nilai APP_URL kita harus memasukkannya sesuai dengan url yang diberikan oleh heroku untuk aplikasi kita, misalkan nama aplikasi kamu adalah aplikasi-laravel maka url yang harus kamu masukkan adalah https://aplikasi-laravel.herokuapp.com.
Apabila aplikasi kamu menggunakan database, kamu bisa menambahkan database untuk aplikasi kamu di heroku secara gratis menggunakan add-on ClearDB (hanya untuk keperluan percobaan) kemudian masukkan nilai env variabel untuk koneksi database sesuai dengan kredensial yang diberikan ClearDB. Untuk cara menambahkan add-on pada heroku akan dibuat tutorialnya di kemudian hari jika ada kesempatan yaa.
Sipp, setelah selesai memasukan env variable, aplikasi laravel kita siap diakses, silahkan kamu coba mengakses link aplikasi kamu di browser.
Berikut ini hasil milik saya…