Ruby on rails capistrano使用sudo运行内部命令
我们的capistrano设置是:ssh与普通用户连接,但部署到需要sudo权限才能创建文件的位置 我想运行特定的capistrano命令Ruby on rails capistrano使用sudo运行内部命令,ruby-on-rails,capistrano,Ruby On Rails,Capistrano,我们的capistrano设置是:ssh与普通用户连接,但部署到需要sudo权限才能创建文件的位置 我想运行特定的capistrano命令使用sudo运行“cd{configuration[:releases#u path]}&&{decompress(remote#u filename)。join(“”)}&&rm#{remote#u filename}。有没有一种巧妙的方法可以克服它 def distribute! upload(filename, remote_filename)
使用sudo运行“cd{configuration[:releases#u path]}&&{decompress(remote#u filename)。join(“”)}&&rm#{remote#u filename}
。有没有一种巧妙的方法可以克服它
def distribute!
upload(filename, remote_filename)
run "cd #{configuration[:releases_path]} && #{decompress(remote_filename).join(" ")} && rm #{remote_filename}"
end
我相信您可以在capistrano内部使用“sudo”功能,例如
def distribute!
upload(filename, remote_filename)
sudo "cd #{configuration[:releases_path]} && #{decompress(remote_filename).join(" ")} && rm #{remote_filename}"
end
我相信您可以在capistrano内部使用“sudo”功能,例如
def distribute!
upload(filename, remote_filename)
sudo "cd #{configuration[:releases_path]} && #{decompress(remote_filename).join(" ")} && rm #{remote_filename}"
end
下面的解决方法使它起作用
task :self_own_dirs do
sudo "chown -R #{user} #{releases_path}/.."
end
在“部署:更新代码”、“部署:自拥有目录”之前
以下解决方法使其起作用
task :self_own_dirs do
sudo "chown -R #{user} #{releases_path}/.."
end
在'deploy:update\u code'、'deploy:self\u own\u dirs'之前
谢谢,我可以覆盖分发吗代码>方法而不更改代码?(sudo cd
dosent work)。谢谢,我可以覆盖分发吗代码>方法而不更改代码?(sudo cd
dosent work)。