Langsung ke konten

08. Deployment

Mari beralih fokus dan melihat bagaimana kita dapat melakukan deployment untuk aplikasi Laravel baru kita.

Memilih penyedia layanan

Laravel dapat di-deploy ke lingkungan hosting PHP modern mana pun yang memenuhi persyaratan server Laravel yang cukup ringan. Namun, mengonfigurasi dan mengelola server web serta server database mengalihkan perhatian kita dari pembangunan aplikasi dan memberikan value untuk pengguna. Itulah mengapa kami membangun Laravel Forge dan Laravel Vapor.

Laravel Forge

Laravel Forge dapat membuat server di berbagai penyedia infrastruktur seperti DigitalOcean, Linode, AWS, dan lainnya. Selain itu, Forge meng-instal dan mengelola semua perkakas yang diperlukan untuk membangun aplikasi Laravel yang andal, seperti Nginx, MySQL, Redis, Memcached, Beanstalk, dan banyak lagi.

Laravel Vapor

Laravel Vapor adalah platform deployment yang nirserver (serverless) untuk Laravel, yang didukung oleh AWS. Jalankan infrastruktur Laravel Anda di Vapor dan nikmati kesederhanaan nirserver yang scalable.

Keduanya adalah pilihan yang fantastis, tetapi hari ini kita akan menggunakan Forge karena kesederhanaannya, banyaknya pilihan penyedia layanan, dan ramah di kantong untuk aplikasi kecil. Anda selalu dapat beralih ke Vapor nanti jika Anda menginginkan skalabilitas nirserver.

Daftarkan diri Anda untuk uji coba gratis dengan Laravel Forge lalu pilih penyedia server Anda:

  • DigitalOcean (tersedia kredit gratis $100)
  • Linode (tersedia kredit gratis $50)
  • AWS (tersedia paket gratis)
  • Vultr (tersedia kredit gratis $50)
  • Hetzner
  • Server VPS pribadi

Jika Anda tidak yakin harus memilih siapa, kami merekomendasikan DigitalOcean karena kredit mereka yang berlimpah, antarmuka pengguna yang hebat, dan fitur-fitur yang luar biasa.

Menghubungkan ke source control

Forge perlu tahu di mana menemukan kode aplikasi Anda, jadi Anda memerlukan akun dengan penyedia source control, seperti GitHub, GitLab, atau Bitbucket.

Anda kemudian dapat menghubungkan Forge ke penyedia source control Anda dengan memilihnya di layar selamat datang Forge, atau dengan mengunjungi bagian Source Control di akun Forge Anda.

Tangkapan layar source control

Menghubungkan ke penyedia server

Forge akan membutuhkan kunci API untuk penyedia server Anda agar dapat membangun server Anda. Anda dapat terhubung ke penyedia server di layar selamat datang Forge, atau dengan mengunjungi bagian Server Providers di akun Forge Anda.

Tangkapan layar penyedia server

Ikuti instruksi untuk membuat kredensial API untuk Forge dengan penyedia yang Anda pilih, lalu masukkan detailnya untuk melanjutkan.

Membuat server

Setelah Forge terhubung ke penyedia source control dan server Anda, kita siap membuat server pertama kita!

Dari halaman Servers, klik tombol Create Server.

Selanjutnya, pilih penyedia server Anda. Anda akan disajikan dengan beberapa opsi tergantung pada penyedia Anda. Opsi default akan sempurna untuk men-deploy Chirper, tetapi kami sarankan untuk meninjau semua opsi yang tersedia pada penyedia pilihan Anda guna memastikan semuanya sesuai dengan kebutuhan dan anggaran Anda.

Tangkapan layar buat server

Membuat server memakan waktu sekitar 10 menit, tergantung pada penyedia Anda dan opsi yang dipilih.

Membuat situs (opsional)

Forge akan secara otomatis membuat situs "default" di server baru Anda. Ini sangat cocok untuk men-deploy aplikasi kita karena kita dapat mengunjunginya menggunakan alamat IP publik server alih-alih membeli nama domain.

Jika Anda ingin menggunakan nama domain, kami sarankan untuk mengunjungi tab Sites di server Anda untuk menghapus situs "default" dan membuat situs baru. Anda dapat membuat situs sebanyak yang Anda butuhkan. Anda juga akan memiliki opsi untuk membuat database untuk situs baru Anda.

Tangkapan layar situs baru

Pilih situs Anda, lalu klik namanya di heading untuk mengunjungi situs Anda dan melihat halaman situs default Forge.

Membuat database

Jika Anda menggunakan situs "default", Anda perlu membuat database untuk aplikasi Anda. Anda dapat membuat database di tab Database pada server Anda.

Tangkapan layar tambah database

Anda dapat mengosongkan kolom username dan password untuk menggunakan kredensial yang dibuat oleh Forge saat membangun server Anda.

Meng-instal repositori

Kita siap meng-instal repositori source control di situs baru kita. Jika Anda belum melakukannya, pastikan untuk membuat repositori git untuk aplikasi Anda dan push kode sumber ke penyedia source control yang Anda hubungkan ke Forge tadi.

Pilih situs Anda dari tab Sites di server Anda lalu klik Git Repository. Masukkan nama repositori Anda (misal: taylorotwell/chirper) dan pilih branch Anda. Pastikan "Install Composer Dependencies" dicentang, lalu instal repositori Anda untuk melanjutkan.

Tangkapan layar instal repositori

Mengonfigurasi file environment

Saat meng-instal repositori, Forge akan menyalin file environment .env.example dari repositori Anda. Anda dapat meninjau file konfigurasi environment Anda dari menu Edit Files di situs Anda.

Tangkapan layar environment situs

Anda harus meninjau semua nilai dengan cermat untuk memastikan semuanya dikonfigurasi dengan benar untuk lingkungan produksi Anda.

Pastikan nilai DB_* sesuai dengan database yang Anda buat sebelumnya. Jika Anda membuat username dan password database khusus, pastikan untuk mengonfigurasinya juga.

Jika Anda ingin mengirim email dari aplikasi Anda, Anda perlu meninjau nilai MAIL_* dan menambahkan variabel tambahan apa pun yang mungkin diperlukan untuk penyedia email pilihan Anda.

Jika Anda ingin menjalankan queue worker, pastikan nilai QUEUE_CONNECTION sesuai dengan koneksi queue yang Anda inginkan dan Anda telah meng-instal serta mengonfigurasi semua prasyarat yang diperlukan.

Mengonfigurasi skrip deploy

Pada tab App untuk situs Anda, Anda dapat meninjau skrip deploy yang dibuat Forge untuk Anda.

Tangkapan layar skrip deploy

Aplikasi kita menggunakan dependensi Node dan Vite, jadi kita perlu menambahkan langkah-langkah untuk meng-instal dependensi dan membangun aset kita:

cd /home/forge/default
git pull origin $FORGE_SITE_BRANCH
 
$FORGE_COMPOSER install --no-interaction --prefer-dist --optimize-autoloader
+npm ci
+npm run build
 
( flock -w 10 9 || exit 1
echo 'Restarting FPM...'; sudo -S service $FORGE_PHP_FPM reload ) 9>/tmp/fpmlock
 
if [ -f artisan ]; then
$FORGE_PHP artisan migrate --force
fi

Menjalankan queue worker (opsional)

Jika Anda memilih untuk mengonfigurasi queue worker, Anda sekarang dapat menginstruksikan Forge untuk memulai dan mengelola worker tersebut pada tab Queue di situs Anda.

Tangkapan layar worker baru

Menjalankan task scheduler (opsional)

Jika Anda memilih untuk menggunakan task scheduling Laravel, Anda dapat mengonfigurasi Forge untuk menjalankan scheduler pada tab Scheduler di server Anda. Anda perlu mengatur frekuensi ke "setiap menit" sehingga scheduler akan memeriksa tugas yang jatuh tempo pada jadwal apa pun yang Anda konfigurasi.

Tangkapan layar tugas terjadwal baru

Melakukan deploy

Kita siap men-deploy aplikasi kita untuk pertama kalinya! Tekan tombol Deploy Now, lalu duduk manis selagi Forge menjalankan skrip deploy Anda.

Anda dapat meninjau riwayat deployment Anda pada tab Deployments.

Setelah selesai, kunjungi situs Anda lagi untuk memastikan semuanya telah berhasil di-deploy.

Lanjutkan ke kesimpulan dan langkah selanjutnya...