From 0df0b28097fce199cd26b5f9fbf1f2ab88853fa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=9D=99?= Date: Fri, 21 Jan 2022 11:31:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8F=91=E5=B8=83=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/.gitignore | 1 + deploy/config/deploy.rb | 3 --- deploy/lib/capistrano/tasks/laravel.rake | 29 ++++++------------------ 3 files changed, 8 insertions(+), 25 deletions(-) create mode 100644 deploy/.gitignore diff --git a/deploy/.gitignore b/deploy/.gitignore new file mode 100644 index 00000000..3615120b --- /dev/null +++ b/deploy/.gitignore @@ -0,0 +1 @@ +.env.* diff --git a/deploy/config/deploy.rb b/deploy/config/deploy.rb index a1db8f43..598e4df9 100644 --- a/deploy/config/deploy.rb +++ b/deploy/config/deploy.rb @@ -39,9 +39,6 @@ set :branch, "release" # Uncomment the following to require manually verifying the host key before first deploy. # set :ssh_options, verify_host_key: :secure -# 发布时是否上传 .env 文件 -set :laravel_upload_dotenv_file_on_deploy, false - namespace :php_fpm do desc "重启 PHP-FPM" task :restart do diff --git a/deploy/lib/capistrano/tasks/laravel.rake b/deploy/lib/capistrano/tasks/laravel.rake index ea6542f7..b9a513d2 100644 --- a/deploy/lib/capistrano/tasks/laravel.rake +++ b/deploy/lib/capistrano/tasks/laravel.rake @@ -8,9 +8,6 @@ namespace :load do # 上传时的本地 .env 文件 set :laravel_dotenv_file, ".env.#{fetch(:stage)}" - # 软链文件 - set :laravel_linked_files, [".env"] - # 软链文件夹 set :laravel_linked_dirs, ["storage"] @@ -32,7 +29,7 @@ namespace :load do end namespace :laravel do - desc "上传 .env 文件到共享目录" + desc "上传 .env 文件到发布目录" task :upload_dotenv_file do next unless fetch(:laravel_upload_dotenv_file_on_deploy) @@ -43,23 +40,7 @@ namespace :laravel do end on release_roles(fetch(:laravel_roles)) do - upload! dotenv_file, "#{shared_path}/.env" - end - end - - desc "检查软链文件" - task "check:linked_files" do - on release_roles(fetch(:laravel_roles)) do - laravel_linked_files = fetch(:laravel_linked_files) - - next unless laravel_linked_files - - # 创建用于软链的文件 - within shared_path do - execute :touch, laravel_linked_files.join(" ") - end - - set :linked_files, fetch(:linked_files, []).push(*laravel_linked_files) + upload! dotenv_file, "#{release_path}/.env" end end @@ -79,6 +60,10 @@ namespace :laravel do next unless laravel_writable_dirs + within release_path do + execute :mkdir, "-p", laravel_writable_dirs.join(" ") + end + set :file_permissions_paths, fetch(:file_permissions_paths, []) .push(*laravel_writable_dirs) .uniq @@ -171,7 +156,7 @@ namespace :deploy do end before "deploy:starting", "laravel:check:linked_dirs" - after "deploy:check:directories", "laravel:check:linked_files" + after "deploy:updated", "laravel:upload_dotenv_file" after "deploy:updated", "laravel:writable" after 'deploy:updated', 'deploy:set_permissions:acl' after "deploy:updated", "deploy:vendors"