优化发布脚本
parent
88ae0c873d
commit
580e97203d
|
|
@ -0,0 +1,12 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
|
@ -33,6 +33,7 @@ install_plugin Capistrano::SCM::Git
|
|||
# require "capistrano/rails/assets"
|
||||
# require "capistrano/rails/migrations"
|
||||
# require "capistrano/passenger"
|
||||
require "capistrano/file-permissions"
|
||||
|
||||
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
|
||||
Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ namespace :load do
|
|||
|
||||
# 可写文件夹
|
||||
set :laravel_writable_dirs, [
|
||||
"bootstrap/cache",
|
||||
"storage",
|
||||
"storage/app",
|
||||
"storage/app/public",
|
||||
|
|
@ -23,8 +24,10 @@ namespace :load do
|
|||
"storage/framework/cache",
|
||||
"storage/framework/sessions",
|
||||
"storage/framework/views",
|
||||
"storage/logs",
|
||||
"storage/logs"
|
||||
]
|
||||
|
||||
set :laravel_server_user, 'www-data'
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -44,8 +47,8 @@ namespace :laravel do
|
|||
end
|
||||
end
|
||||
|
||||
desc "准备软链文件"
|
||||
task :resolve_linked_files do
|
||||
desc "检查软链文件"
|
||||
task "check:linked_files" do
|
||||
on release_roles(fetch(:laravel_roles)) do
|
||||
laravel_linked_files = fetch(:laravel_linked_files)
|
||||
|
||||
|
|
@ -60,8 +63,8 @@ namespace :laravel do
|
|||
end
|
||||
end
|
||||
|
||||
desc "准备软链目录"
|
||||
task :resolve_linked_dirs do
|
||||
desc "检查软链目录"
|
||||
task "check:linked_dirs" do
|
||||
laravel_linked_dirs = fetch(:laravel_linked_dirs)
|
||||
|
||||
if fetch(:laravel_linked_dirs)
|
||||
|
|
@ -69,16 +72,20 @@ namespace :laravel do
|
|||
end
|
||||
end
|
||||
|
||||
desc "准备可写文件"
|
||||
task :resolve_writable_dirs do
|
||||
desc "给与可写文件夹权限"
|
||||
task :writable do
|
||||
on release_roles(fetch(:laravel_roles)) do
|
||||
laravel_writable_dirs = fetch(:laravel_writable_dirs)
|
||||
|
||||
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
|
||||
|
||||
set :file_permissions_users, fetch(:file_permissions_users, [])
|
||||
.push(fetch(:laravel_server_user))
|
||||
.uniq
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -163,11 +170,12 @@ namespace :deploy do
|
|||
invoke "composer:install"
|
||||
end
|
||||
|
||||
before "deploy:starting", "laravel:resolve_linked_dirs"
|
||||
after "deploy:check:directories", "laravel:upload_dotenv_file"
|
||||
after "deploy:check:directories", "laravel:resolve_linked_files"
|
||||
after "deploy:updated", "laravel:resolve_writable_dirs"
|
||||
before "deploy:starting", "laravel:check:linked_dirs"
|
||||
after "deploy:check:directories", "laravel:check:linked_files"
|
||||
after "deploy:updated", "laravel:writable"
|
||||
after 'deploy:updated', 'deploy:set_permissions:acl'
|
||||
after "deploy:updated", "deploy:vendors"
|
||||
after "deploy:updated", "laravel:upload_dotenv_file"
|
||||
after "deploy:vendors", "laravel:artisan:config:cache"
|
||||
after "deploy:vendors", "laravel:artisan:route:cache"
|
||||
after "deploy:vendors", "laravel:artisan:view:cache"
|
||||
|
|
|
|||
Loading…
Reference in New Issue