Capistrano v3修改部署后文件目录权限

在部署完项目后,可能会需要对部署好的项目文件和目录做一些权限上的更改。可以,通过下面两种方式的任务完成。其它,个性要求同理。

注意:capistrano v2中的latest_release,在capistrano v3已变更为release_path

namespace :permission do
    desc "permission update"
    task :update do
        on roles(:app), in: :sequence, wait: 5 do
            execute :echo, "hello"
            execute :chown, "-R www:www #{release_path}"
	    execute :chmod, "-R 755 #{release_path}"
        end
    end
end

namespace :deploy do
    after :finishing, "permission:update"
end

或者

namespace :permission do
    desc "permission update"
    task :update do
        on roles(:all), in: :sequence, wait: 5 do
            execute :echo, "change start"
            within release_path  do
                 execute :chown, "-R www:www *"
				 execute :chmod, "-R 755 #{release_path}"
            end
        end
    end
end

namespace :deploy do
    after :finishing, "permission:update"
end