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
Deploy ke heroku ini dibantu sama kak @afrizalpatlas !! ehhe. Bisa dilihat di https://t.co/WnP0StDOFL pic.twitter.com/O7hH2tpiOK
— c (@auttmme) December 21, 2020
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 init5. Login ke Heroku CLI
Selanjutnya kita perlu login terlebih dahulu lewat Command Promp/Terminal masing-masing.
Jalankan perintah
heroku login6. 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 --showKita 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 masterAkan 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 openMaka 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-devSetelah 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:urlMaka 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=pgsqlDB_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=5432DB_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 configMaka 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 bashtekan 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 migratemaka 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.

Comments