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