我想通过capistrano使用chmod来添加文件夹的权限.例如,我想这样做:
chmod 777 -R /vol/www/apps/ror_tutorial/current/log/
Run Code Online (Sandbox Code Playgroud)
所以,我想通过capistrano的任务来做到这一点.我试过了:
desc "Fix permission"
task :fix_permissions, :roles => [ :app, :db, :web ] do
run "#{try_sudo} chmod 777 -R #{current_path}/log"
end
after "deploy:update_code", :fix_permissions
Run Code Online (Sandbox Code Playgroud)
但它不起作用.该文件夹的权限是相同的:
$ ls -alh /vol/www/apps/ror_tutorial/current/log/
total 1008K
drwxrwxrwx 2 root root 4.0K 2012-02-03 20:22 .
drwxrwxr-x 7 root root 4.0K 2012-01-25 20:50 ..
-rwxrwxrwx 1 root root 419K 2012-02-03 14:35 development.log
-rwxrwxrwx 1 root root 530K 2012-02-03 20:16 production.log
-rwxrwxrwx 1 root root 0 2012-02-02 14:21 searchd.development.pid
-rwxrwxrwx 1 root root …Run Code Online (Sandbox Code Playgroud) 出于某种原因,每当我将所有图像从所有用户中删除时,Capistrano都会删除我数据库中的所有图像.通常,我所做的是必须使用capistrano删除的相同图像重新填充数据库.我已经附上了我的deploy.rb文件,有人可以给我一些见解.
require "bundler/capistrano"
set :rvm_ruby_string, '1.9.3p429'
set :rvm_type, :user
set :user, ""
set :password, ""
set :domain, ""
set :applicationdir, ""
set :scm, :git
set :repository, ""
set :git_enable_submodules, 1 # if you have vendored rails
set :branch, "release"
set :rails_env, 'production'
#set :git_shallow_clone, 1
set :scm_verbose, true
# roles (servers)
role :web, domain
role :app, domain
role :db, domain, :primary => true
set :port, 22
# deploy config
set :deploy_to, applicationdir
set :deploy_via, :remote_cache
# additional settings
default_run_options[:pty] = …Run Code Online (Sandbox Code Playgroud)