Anda tidak dapat menjalankan perintah jarak jauh di artisan
lokal Anda . Apa pun yang Anda jalankan di sana hanya akan berfungsi secara lokal (bahkan jika Anda menyetel ENV
variabel).
Mengatur ENV
variabel hanya untuk memberi tahu aplikasi agar berperilaku seolah-olah di lingkungan itu. Tapi tidak memberitahu artisan untuk menggunakan lingkungan produksi jarak jauh.
Jika Anda ingin menjalankan perintah pada server produksi Anda, saya sarankan Anda melihat ke Utusan . Ini adalah proyek yang sepenuhnya mandiri (dan tidak harus digunakan hanya dengan proyek Laravel) dan khusus untuk penerapan.
Ini pada dasarnya adalah pembungkus tipis di sekitar SSHing ke server jauh Anda dan kemudian menjalankan perintah. Contoh Envoy.blade.php
file di situs saya mungkin terlihat seperti ini:
@servers(['web' => '[email protected]'])
@task('deploy')
cd ~/src
php artisan down
git pull origin master
composer install --no-dev --no-progress --prefer-dist
php artisan migrate --force --no-interaction
php artisan optimize
php artisan up
@endtask
SSH ini masuk, menempatkan aplikasi dalam mode pemeliharaan, menarik kode baru, melakukan berbagai pengaturan 'kode baru' seperti penginstalan komposer, migrasi, dll. dan kemudian menarik aplikasi keluar dari mode pemeliharaan.