Laravel Sail Docker Environtment Dari Laravel Untuk Kebutuhan Development Laravel
Laravel Sail merupakan antar muka berbasis command line yang dapat kita gunakan untuk kebutuhan development environtement di lokal laravel, laravel sail ini cocok untuk kita yang tidak memiliki lokal development seperti laradock,laragon,xampp,valet dan lain-lain.
Teknologi Di Balik Laravel Sail
Docker merupakan teknologi yang digunakan oleh laravel sail, namun kabar baiknya dengan menggunakan laravel sail kita tidak perlu belajar docker karena sail memberikan kemudahan sehingga untuk menggunakannya kita tidak perlu paham docker namun tentu saja jika anda memahami docker merupakan nilai plus dikarenakan docker saat ini merupakan teknologi yang memang sangat banyak digunakan oleh perusahaan-perusahaan teknologi di dunia saat ini
Creator Laravel Sail
Laravel Sail dibuat oleh pembuat yang sama dengan yaitu Mas Taylor Otwel salah satu motivasi taylor membuat laravel sail adalah untuk mempermudah pengembang aplikasi mengembangkan aplikasi di perangkat yang belum tersedia software untuk development aplikasi khususnya laravel sehingga kita dapat mulai bekerja di laptop manapun dengan cukup menginstall docker maka laravel sail siap anda gunakan untuk kebutuhan lokal development anda
Apakah Lokal Development Lama Di Tinggalkan ?
saat ini saya yakin banyak developer sudah memiliki lokal development, beberapa di antaranya antara lain :
Dan Masih banyak lagi lokal development yang mungkin anda gunakan saat ini, saya membaca beberapa pertanyaan di forum / di sosial media apakah saya harus beralih ke laravel sail ? menurut saya anda tidak perlu beralih ke laravel sail jika perangkat pengembangan aplikasi anda sudah menggunakan lokal development yang sudah memenuhih kebutuhan anda misal seperti anda sudah menggunakan laradock / laravel valet maka saya rasa itu sudah cukup untuk mengembangkan aplikasi web menggunakan framework laravel, namun dengan laravel sail ini memang lebih mempermudah workflow kita sehingga kita dapat memulai bekerja dari perangkat manapun tanpa melakukan banyak setup hanya butuh docker
Fitur — Fitur Laravel Sail
laravel sail memiliki beberapa fitur yang dapat kita gunakan untuk mengembangkan aplikasi web berbasis laravel kita antara lain
Interaksi Dengan Database ( Mysql / Redis )
kita dapat melakukan interaksi dengan database baik itu pada database Mysql ataupun Redis untuk konfigurasi databasenya anda dapat melihat konfigurasinya pada file docker-compose.yml dan laravel sail ini sudah menggunakan docker volume dimana datanya tersimpan di perangkat kita sehingga jika kita melakukan start ataupun stop laravel sail nya maka data kita tetap tersimpan ( Tidak Hilang ) jadi kita tidak perlu khawatir data hilang ketika laravel sail nya kita stop.
Jalankan Aritsan Tinker Dengan Sail Tinker
laravel sail juga memberikan kemudahan dalam menjalankan artisan tinker kita cukup menjalankan command sail tinker maka kita bisa langsung masuk ke artisan tinker
Support PHP Versi 7.4 Dan PHP Versi 8
Laravel sail saat ini sudah support 2 versi PHP yaitu PHP Versi 7.4 dan PHP Versi terbaru saat ini yaitu versi PHP 8 anda dapat mengganti versi PHP yang anda gunakan apakah itu PHP versi 7.4 ataupun PHP Versi 8 untuk versi selain versi yang ada diatas saat ini belum di support
Sharing Site Support By Expose
Saat ini laravel sail juga mendukung sharing sites menggunakan laravel expose dari beyondcode sehingga jika anda ingin sharing sites anda tidak perlu mengupload / store aplication anda di vps / hosting dahulu cukup dengan perintah sail share aplikasi anda akan dapat di akses dari internet tentunya anda harus ada akses internet ya heheh
Video Laravel Sail Dari Taylor Otwel
Video Lainnya Terkait Laravel Sail
Atasi Error Mysqldump Not Found Pada Laravel Sail
laravel memiliki sebuah fitur yaitu schema dump dengan begitu file migration yang banyak akan di dump menjadi satu file hal ini sangat membantu jika kita memiliki banyak file migration sehingga ketika di production kita cukup jalankan migration untuk satu file saja hal ini bisa mempercepat proses migration yang kita jalankan.
Pada Laravel sail kita bisa menjalakan artisan command dengan cara
./vendor/bin/sail artisan
jika anda menggunakan alias anda dapat menjalankan menjadi seperti ini
sail artisan
untuk membuat alias anda dapat mengetikkan command sbb
alias sail='bash vendor/bin/sail'
ketika menjalankan perintah sail artisan schema:dump kita akan mendapati error mysqldump not found seperti gambar dibawah ini
error ini terjadi dikarenakan pada dockerfile yang kita gunakan belum terinstall mysql client maka untuk fix case ini kita dapat menambahkan mysql-client pada docker file yang kita gunakan dengan cara sbb :
pada project laravel app kita buka folder vendor > Laravel > sail > runtime > 8.0
silahkan anda buka runtime yang anda gunakan pada case saya saya menggunakan runtime 8.0 ( by Default laravel sail menggunakan runtime 8.0)
lalu anda buka file Dockerfile dan tambahkan baris dibawah ini
&& apt-get install -y mysql-client \
sehingga isi dari Dockerfile anda menjadi sbb :
setelah anda menambahkan maka kita harus lakukan build ulang berikut langkah-langkahnya
kita matikan dulu container yang sedang berjalan dengan perintah
setelah itu untuk melakukan rebuild ketikkan perintah dibawah ini
sail build --no-cache
lalu jalankan kembali containernya dengan perintah
untuk melihat container yang running dapat dilakaukan dengan perintah
berikut outputnya
dan terkahir silahkan anda jalankan kembali schema dump dengan perintah
sail artisan schema:dump
makan proses scehma dump akan berjalan jika tidak ada kendala maka akan berhasil dan menghasilkan output sbb
berikut hasil dari schema dump
Kesimpulan
laravel sail ini sangat cocok bagi kita untuk mengembangkan aplikasi dimana di perangkat kita belum tersedia lokal development apapun maka kita cukup install docker + laravel sail maka kita sudah dapat mulai bekerja dan laravel sail ini merupakan sebuah solusi untuk kita agar lebih mudah dalam melakukan pengembangan aplikasi khususnya aplikasi web yang menggunakan framework laravel.
Salam,
Adinata
Link Terkait :
Originally published at https://adinata.id on December 12, 2020.