Cara Deploy Aplikasi Laravel ke Heroku

Assalamualaikum Warahmatullahi Wabarakatuh, Pada kesempatan ini saya akan sharing bagaimana cara deploy aplikasi project Laravel ke platform Heroku. Pada tutorial ini juga membahas bagaimana kita mengkoneksikan laravel project ke database. Perlu diketahui Heroku Cloud Application Platform adalah Platform as a Service (PaaS) yang memungkinkan kita untuk menjalankan, membangun, dan mengoperasikan aplikasi sepenuhnya di cloud.

Heroku adalah penyedia PaaS (Platform as a Service) yang memudahkan penerapan aplikasi yang dibuat menggunakan beberapa tech stack tanpa biaya. Biasanya developer aplikasi menggunakan layanan mirip Heroku untuk mengimplementasikan dan menguji aplikasi mereka dari jarak jauh tanpa kesulitan.

Sebenarnya alasan saya dari membuat artikel ini karena beberapa waktu lalu membantu teman mutual twitter saya

langsung saja kita akan mendeploy aplikasi laravel kita ke Heroku. Simak step by step ya

1. Install Heroku CLI

Kalian diharapkan untuk mendownload Heroku CLI terlebih dahulu di link ini.

Ikuti langkah demi langkah hingga sukses menginstall Heroku CLI tersebut.

Kita versi Heroku CLI dengan perintah heroku --version

2. Siapkan Project Laravel

Dalam tutorial ini kita akan mendeploy aplikasi ini yang pernah kita bahas di tutorial sebelumnya.

Siapkan sendiri project laravel kalian.

3. Buat Procfile

Kita buat Procfile di Laravel Root folder kita.

Disini kita menggunakan apache2 sebagai web servernya.

Ketikkan kode dibawah ini letakkan pada file Procfile

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

4. Inisialisasi Git Repo

Karena Heroku mirip konsepnya dengan Git pada umumnya untuk versioning maupun deploy, kita perlu inisialisasi git pada project kita terlebih dahulu.

Ketikkan perintah

git init

5. Login ke Heroku CLI

Selanjutnya kita perlu login terlebih dahulu lewat Command Promp/Terminal masing-masing.

Jalankan perintah

heroku login

6. Buat Heroku Application

Disini akan membuat nama aplikasi kita di Heroku

Jalankan perintah

heroku create <nama_aplikasi>

Ubah <nama_aplikasi> sesuai nama aplikasi yang ingin kamu buat.

Misalnya disini saya beri nama aplikasinya customauth-laravel8.

7. Setting Laravel Encryption key.

Untuk mendapatkan Encryption key pada Laravel Project kita, jalankan perintah dibawah ini.

php artisan key:generate --show

Kita akan mendapatkan keynya, kita copy key tersebut.

Lalu kita akan berikan Config Variable pada Heroku.

Jalankan perintah dibawah ini

heroku config:set APP_KEY={Letakkan Keymu Disini}

Lalu tekan enter.

8. Push ke Heroku

Setelah itu semua project kita kita add ke Git terlebih dahulu

git add .

Berikan Commit pada fiel yang telah kita add

git commit -m "deploy ke heroku"

Setelah itu Push ke Heroku Server

git push heroku master

Akan terlihat prosesnya seperti ini

9. Jalankan Aplikasi

Pada langkah ini kita telah berhasil mendeploy Laravel Ke Heroku.

Untuk membuka aplikasi kita, cukup jalankan perintah

heroku open

Maka akan redirect ke Browser.

Contoh dari aplikasi saya https://customauth-laravel8.herokuapp.com/

10. Konfigurasi Database di Heroku

Inilah yang ditunggu-tunggu, bagaimana kita akan mengkoneksikan database ke laravel project kita yang ada di Heroku.

Disini saya menggunakan postgres yang dimiliki oleh Heroku sendiri.

Jalankan perintah dibawah ini untuk membuat PGSQL database di Project kita

heroku addons:create heroku-postgresql:hobby-dev

Setelah itu kita harus membuat tambahan Config Variable pada Heroku, diantaranya :

  • APP_ENV untuk menjadikan level project kita itu Production atau siap rilis
heroku config:add APP_ENV=production
  • APP_URL untuk menjadikan baseurl kita, atau root domain
heroku config:add APP_URL=https://<NAMA_APLIKASIMU>.herokuapp.com/

ubah <NAMA_APLIKASIMU> sesuai nama aplikasi yang dibuat diawal.

Kita perlu mencari tau informasi dbname, host, port, user, password yang ada di postgres Heroku.

Maksudnya apa? tanpa kita mengetahui itu semua kita tidak akan bisa terkoneksi dengan database.

Jalankan perintah dibawah ini untuk mendapatkan itu semua

heroku pg:credentials:url

Maka akan nampak seperti dibawah ini

Connection information for default credential.
Connection info string:
   "dbname=<dbname> host=<alamatHost> port=5432 user=<namaUser> password=<passwordnya> sslmode=require"
Connection URL:
   postgres://<namaUser>:<passwordnya>@<alamatHost>:5432/<dbname>

Setelah mendapatkan informasi diatas, selanjutnya kita akan menambahkan Config Variable pada Heroku, diantaranya :

DB_CONNECTION untuk driver koneksi ke database

heroku config:add DB_CONNECTION=pgsql

DB_HOST untuk mencari alamat host / domain database

heroku config:add DB_HOST=<alamatHost>

DB_PORT untuk membuka port yang terbuka, alias biar bisa saling berkomunikasi

heroku config:add DB_PORT=5432

DB_DATABASE untuk mengetahui database mana yang dipakai dalam project ini

heroku config:add DB_DATABASE=<dbname>

DB_USERNAME untuk memberikan akses ke database

heroku config:add DB_USERNAME=<namaUser>

DB_PASSWORD untuk memberikan akses ke database

heroku config:add DB_PASSWORD=<passwordnya>

Sehingga jika dijalankan perintah

heroku config

Maka hasilnya seperti berikut

11. Migrate Database

Setelah kalian setting config vars tadi, otomatis kita bisa melakukan migrate database.

Pertama kita harus masuk ke cloud project kita di heroku dengan cara

heroku run bash

tekan enter.

Nah perintah diatas membawa kita masuk ke direktori project kita yang ada di heroku.

ketika kalian ketik command ls -a maka akan terlihat folder dan file project kita.

Kita akan migrate database seperti perintah laravel pada umumnya

php artisan migrate

maka hasilnya seperti berikut

Jangan lupa ketik exit untuk keluar dari cloud heroku.

Namun jika kalian masih membutuhkannya kalian masih bisa berlama-lama kok.

Semisalnya masih butuh untuk melakukan db:seed, itu opsional sesuikan dengan project kalian ya.

Buka aplikasi kembali melalui url <NAMA_APLIKASIMU>.herokuapp.com/

punya saya telah berhasil https://customauth-laravel8.herokuapp.com/

Yap, kita sampai sini kita sudah berhasil Mendeploy Aplikasi Laravel ke Heroku serta konfigurasi database.

Cukup sekian ya teman-teman, semoga artikelnya membantu.

Wassalamualaikum Warahmatullahi Wabarakatuh.

​

Apabila artikel ini membantu kamu, dan jika kamu memiliki sedikit rezeki, mohon dukungannya dalam bentuk segelas kopi melalui URL dibawah ini:

Last Updated: Minggu, 15 Agustus 2021 11:45 GMT+7

Comments